程序设计思维小作业基于python flask写一个简易版网页聊天软件源码+数据库,实现登录、注册、文字聊天功能

Web Chat 项目说明

运行方式

python main.py

主要思路

登录和注册使用数据库,用POST方法传输数据,登录后用session存储登录的用户名

浏览器发送消息时使用POST方法发送到服务端,服务端将消息接收并更新到对应的数据库。

服务端对每个已登陆的用户维护一个Dictionary,存储每个用户的消息记录中,最后更新的消息ID

比如cache_msg_id['Alice']['Bob']==2,代表Alice最后更新的和Bob聊天的消息记录是第2条

浏览器每隔3秒中像服务器请求验证是否有新消息,服务器对比cache_msg_id和实际消息记录数据库中的最大编号,如果有新的消息,则发送给浏览器,浏览器将新的消息显示出来。

比如服务端发现cache_msg_id['Alice']['Bob']==2,而读取数据库.\msglogdb\Alice.db中的表Bob时,发现有3条消息,则把第3条发送给浏览器客户端。

浏览器每隔20秒向服务器请求验证是否有新的好友添加,即Alice单方面添加了Bob好友。Bob如果此时在线,当他的浏览器向服务器发送更新好友列表的请求时,服务器会把好友Alice的信息发送给Bob,在Bob的浏览器上显示出来。

创建群组同理

群组创建后,由服务器为群组分配唯一编号。当用户请求更新消息记录时,服务器会检查用户加入的群组的消息记录,从而更新消息。

文件解释

main.py

flask服务端的主要代码,处理各种HTTP请求

DBdebug.py

用于调试数据库的代码(请勿运行)

users.db

用户数据库,存储用户列表即密码

groups.db

群组数据库,存储群组列表

\groupdatas

存储与群组相关的数据库,即群组的用户列表

\msglogdb

存储消息记录

用户名.db表示该用户与其他用户聊天的消息记录

Group.db表示群组的消息记录,所有用户共用。内部有多个表,每个表代表一个群组的消息记录。

\userdatas

用户的数据库,存储用户的好友列表,加入的群组

完整代码下载地址:基于python flask写一个简易版网页聊天软件

  • 21
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yanglamei1962

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值