首页 > QQ技巧 > QQ为什么采用UDP协议而不采用TCP协议实现

QQ为什么采用UDP协议而不采用TCP协议实现

时间:2014-11-08 14:26 作者:QQ地带 我要评论

某次架构师大会上那个58同城做即时通信的人说:原因是因为当时没有epoll这种可以支持成千上万tcp并发连接的技术,所以他们使用了udp,然后在udp上面封装了一下,模拟了一下tcp,解决了大并发的问题,之后因为做的很nb了,虽然epoll这种技术出现了,还是没有改回使用tcp了.现在再做类似的东西就不需要使用udp了.
这个说法应该比较可信的.
 
即时通讯时效性要求高,用TCP维持多人同时在线是个问题[1], 涉及到服务器数量,系统调优,编程手段等很多方面。记得QQ服务器最初只有一台,还是Windows。我不会Windows开发,可以等哪位Window开发老手讲下在Win 98的winsock接口下用什么手段能开发出支持高并发的服务器出来,难度多大。
 
即使是UDP协议,完全通过服务器中转、信息传输加密(用户到服务器之间的,= =)、保存聊天内容协助警方等都是钱多用户傻之后的事了。次早期的QQ官方客户端提供了默认不勾选的“通过服务器中转”选项,可见那时信息还是允许客户端和客户端之间直接发送的。
 
至于UDP穿墙之类的优势,国内最常见的NAT共享网络又不会影响客户端主动发起TCP链接,应该不是使用UDP的主要原因。

标签: TCP UDP
顶一下
(2)
100%
踩一下
(0)
0%

Google提供的广告