qq机制问题
来源:互联网 发布:阿里云短信模板 编辑:程序博客网 时间:2024/05/16 06:56
1.登陆过程,客户端client 采用TCP协议向服务器server发送信息,HTTP协议下载信息。登陆之后,会有一个TCP连接来保持在线状态。
2.和好友发消息,客户端client采用UDP协议,但是需要通过服务器转发。腾讯为了确保传输消息的可靠,采用上层协议来保证可靠传输。如果消息发送失败,客户端会提示消息发送失败,并可重新发送。
3.如果是在内网里面的两个客户端传文件,QQ采用的是P2P技术,不需要服务器中转。
UDP协议是无连接方式的协议,它的效率高,速度快,占资源少,但是其传输机制为不可靠传送,必须依靠辅助的算法来完成传输控制。QQ采用的通信协议以UDP为主,辅以TCP协议。由于QQ的服务器设计容量是海量级的应用,一台服务器要同时容纳十几万的并发连接,因此服务器端只有采用UDP协议与客户端进行通讯才能保证这种超大规模的服务。
QQ客户端之间的消息传送也采用了UDP模式,这不同于国外的ICQ在客户端之间采用TCP进行通讯的模式。因为国内的网络环境非常复杂,而且很多用户采用的方式是通过代理服务器共享一条线路上网的方式,在这些复杂的情况下,客户端之间能彼此建立起来TCP连接的概率较小,严重影响传送信息的效率。而UDP包能够穿透大部分的代理服务器,因此我们在开发QQ的时候选择了UDP作为客户之间的主要通信协议,因此网友会觉得用QQ传送信息要比ICQ及其它采用TCP协议的ICQ类软件快。
当然,UDP协议优点突出,缺点也很明显:UDP包的传送是不可靠的传输,它不象TCP一样有包重传等机制,因此采用UDP协议的信息在传送过程中很容易丢失,这样就需要辅助的算法实现包重传机制以保证信息不会丢失,而QQ服务器的负荷非常重,因此在QQ 99b 0425之前我们只是在客户端到客户端之间传送消息时采用了这个辅助的机制,当消息在客户间直接传送无法到达时就需要通过服务器来中转,由于服务器端在老版本的时候迫于负荷过重的压力没有对主动发往客户端的信息进行传输控制,因此在老版本的时候容易造成通过服务器中转的信息丢失的现象。在QQ99c 0725之后我们单独设立出了几台专用的服务器采用包重传机制来中转消息(仅限于QQc之间传递的消息),确保通过服务器转发
- qq机制问题
- QQ通讯机制
- QQ通信机制
- QQ通讯机制讨论
- QQ浏览器Session问题
- fedora QQ 安装问题
- Linux QQ安装问题
- ubuntu 安装qq问题
- QQ安全相关问题
- QQ游戏基本通信机制(QQ游戏外挂编写)
- QQ的通讯安全机制部分细节
- 烦人的QQ登录验证机制
- QQ验证机制分析(一)20150310
- QQ验证机制分析(二)20150310
- wine 运行QQ的问题
- 方向键转换问题qq聊天记录
- Wine QQ 安装等问题
- 关于QQ好友的问题
- 在排好序的数组中找出给定数字出现的次数
- ireport 合并行
- android 获得root权限解密
- Show IplImage on MFC Window
- Oracle表的一些基本操作
- qq机制问题
- Java基础 (二)(面向对象)
- Mysql 的主从复制,最多支持多少个数据库同步
- 修改一行SQL代码 性能提升了100倍
- 黑马程序员——.NET笔记9 面向对象(第二季教程)
- 阿里巴巴一道算法题
- 黑马程序员——.NET笔记10 面向对象版聊天机器人
- hadoop在CentOS上的安装部署
- LeetCode 17: Letter Combinations of a Phone Number