python 开发模拟板Web QQ(一)

本文介绍了使用Python的Django框架、MySQL、Bootstrap和jQuery开发模拟版Web QQ的过程。设计思路涉及前端通过Ajax发送消息到后台,Webserver将消息存储在消息队列中,等待接收者上线时获取。为减轻服务器压力,采用客户端定时请求并挂起机制处理新消息通知。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   

                                                               Python开发模拟版Web QQ实验

         本实验环境基于django1.8+python3.4+mysql开发+bootstrap+jquery开发

 

设计思路:

如果1要给2发消息,前端通过Ajax把消息发到后台(webserver)。

Webserver通过to_id确定把消息转给2webserver不能主动把消息发给2Webserver是被动的。Webserver只能先把消息存起来,等待2去请求时,webserver再把消息给它。

 

设计流程图:



Webserver1发送的消息和2取消息处理思路:

利用消息队列,用python自带的queue先把消息存起来,2上线去取。2queue中取消息queue变成空时就阻塞,等待新消息。

12发消息,webserver把消息放到2的队列里面。

11000个朋友,不用先建1000queue。有谁和1聊天再来检测是否有队列存在,不存在再来建立queue。一般情况下活跃的好友为10%data_type:来判断是单人还是群主。

 

减少对服务器端请求频次的处理:

客户端只能去服务器端请求消息,一上线就去取。时时探测去服务器请求消息。时时请求太频繁,对服务器端压力太大。客户端请求时,webserver看有没有属于新消息。客户端请求,把连接挂起,挂起6秒,有新消息就返回,没有就等待6秒断开,在重新连接,降低请求连接次数。请求没消息挂起6秒,有消息返回。

以上为主要设计思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值