python 开发模拟板Web QQ(一)
来源:互联网 发布:淘宝什么虚拟物品挣钱 编辑:程序博客网 时间:2024/05/29 08:03
Python开发模拟版Web QQ实验
本实验环境基于django1.8+python3.4+mysql开发+bootstrap+jquery开发
设计思路:
如果1要给2发消息,前端通过Ajax把消息发到后台(webserver)。
Webserver通过to_id确定把消息转给2,webserver不能主动把消息发给2,Webserver是被动的。Webserver只能先把消息存起来,等待2去请求时,webserver再把消息给它。
设计流程图:
Webserver存1发送的消息和2取消息处理思路:
利用消息队列,用python自带的queue先把消息存起来,2上线去取。2去queue中取消息queue变成空时就阻塞,等待新消息。
1给2发消息,webserver把消息放到2的队列里面。
1有1000个朋友,不用先建1000个queue。有谁和1聊天再来检测是否有队列存在,不存在再来建立queue。一般情况下活跃的好友为10%。data_type:来判断是单人还是群主。
减少对服务器端请求频次的处理:
客户端只能去服务器端请求消息,一上线就去取。时时探测去服务器请求消息。时时请求太频繁,对服务器端压力太大。客户端请求时,webserver看有没有属于新消息。客户端请求,把连接挂起,挂起6秒,有新消息就返回,没有就等待6秒断开,在重新连接,降低请求连接次数。请求没消息挂起6秒,有消息返回。
以上为主要设计思路。 0 0
- python 开发模拟板Web QQ(一)
- python 开发模拟板Web QQ(四)
- python 开发模拟板Web QQ(五)
- python 开发模拟板Web QQ[效果展示](六)
- python Flask Web开发入门(一)
- Flask Web开发(一)基于python的Web表单
- python开发web服务器《一》
- web框架之利用python的反射模拟小web框架(一)
- python模拟登录(一)
- Web QQ协议分析(一)前言
- python模拟登录qq邮箱
- python 模拟登陆QQ空间
- python-django web开发实战记实录(一)
- Python的Web开发环境之CGI(一)--Ubuntu
- [Python] 利用Django进行Web开发系列(一)
- [Python] 利用Django进行Web开发系列(一)
- [Python] 利用Django进行Web开发系列(一)
- Python--爬虫QQ空间(一)
- 解析Java中如何获取Spring中配置的bean
- LINK1123:failure during conversion to COFF:file invalid or corrupt
- linux 的crontab任务中py脚本不执行的解决办法
- Android严苛模式StrictMode使用详解
- 打字练习
- python 开发模拟板Web QQ(一)
- 设计模式:行为型模式
- 文章标题
- 常用的 android 设计模式
- 学习《Android3D游戏开发技术宝典:OpenGL.ES.2.0》二:着色器语言基础
- 飛飛(八十)(补)请构造String类的加、减运算(s1+s2将两个字符串的连接起来;s1-s2是将s1的尾部空格和s2的前导空格去除后的连接)
- 剑指offer|数值的整数次方
- yii url重写去掉index.php
- UI控件之ScrollView(滚动条)