>
UDP协议的网络开销相对TCP来说,更小。在十年前,拨号上网占主流的网络环境,可以减少网络压力,使传输更快。
另外使用UDP也可以减轻服务器的负载,节省运营商的成本。这是腾迅采用UDP协议的主要原因。
在目前宽带占主流的网络环境,使用UDP协议的意思已经不显著了。
UDP协议的缺点是数据包的顺序不能保证,可靠性不如TCP。编程不如TCP方便。所以大部份即时通讯软件以TCP协议为主。
QQ默认使用的是UDP动态端口4000和8000,QQ程序默认的端口号是4000的动态端口。
由于QQ用的是UDP协议和TCP协议混合传输方式,默认通讯端口是4000端口动态技术,如果4000被占用的话,那么它就会自动改用4001端口,如果4001端口被占用,就改用4002端口,以此类推。8000端口同理。
例如4000,4001,4002,8000,8001,8002等
早期腾讯的服务器少,最早一台服务器时候就是采用的是8000端口,经过多年发展,现在又使用了4000端口。
按照腾讯早年的技术说明和现代计算机技术的原理,QQ在消息接收人离线情况下采用UDP端口。双方同时在线,语音聊天、视频聊天、传输文件等情况下采用TCP端口和UDP端口结合方式。
1、TCP应用
(1)FTP:文件传输协议;
(2)SSH:安全登录、文件传送(SCP)和端口重定向;
(3)Telnet:不安全的文本传送;
(4)SMTP:简单邮件传输协议Simple Mail Transfer Protocol (E-mail);
(5)>
2、UDP应用
(1)流媒体
采用TCP,一旦发生丢包,TCP会将后续包缓存起来,等前面的包重传并接收到后再继续发送,延迟会越来越大。基于UDP的协议如WebRTC是极佳的选择。
(2)实时游戏
对实时要求较为严格的情况下,采用自定义的可靠UDP协议,比如Enet、RakNet(用户有sony online game、minecraft)等,自定义重传策略,能够把丢包产生的延迟降到最低,尽量减少网络问题对游戏性造成的影响。
采用UDP的经典游戏如FPS游戏Quake、CS,著名的游戏引擎Unity3D采用的也是RakNet。
(3)物联网
2014年google旗下的Nest建立Thread Group,推出了物联网通信协议Thread,完善物联网通信。
全球将近50%的人都在使用互联网,人们不断的追求更快、更好的服务,一切都在变化,在越来越多的领域,UDP将会抢占TCP的主导地位。
(4)QQ 文件传输、QQ语音、QQ视频
对于网络通讯质量要求不高的情况下,要求网络通讯速度能尽量快捷方便,就可以使用UDP技术。
以上就是关于哪些协议是基于TCP,哪些协议是基于UDP的啊全部的内容,包括:哪些协议是基于TCP,哪些协议是基于UDP的啊、在javasocket网络编程中,开发基于udp协议的程序使用的套接字有哪些、常用的即时通讯软件,如QQ,选择使用UDP协议作为其传输层协议,为什么等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)