默认
发表评论 2
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
在网络质量不好的情况下选择UDP还是TCP?
阅读(49046) | 评论(2 收藏 淘帖 1
5金币
在网络质量不好的情况(例如2G/3G网络),消息推送服务,选择UDP还是TCP作为传输协议?为防止数据丢失应用层面已设计消息重传,并发大概为500以内,不清楚选择UDP还是TCP?

最佳答案

查看完整内容

如果你的通信程序运行在很烂的网络下,建议优先考虑UDP协议。 不然TCP协议在这种情况下的重传,就跟你在国内访问国外的网站一样,为什么网页半天卡住出不来的原因是一样的:因为各种丢包和重传,以及指数退避算法导致的。 这几篇文章你可以参考一下: 《简述传输层协议TCP和UDP的区别》http://www.52im.net/thread-580-1-1.html 《为什么QQ用的是UDP协议而不是TCP协议?》http://www.52im.net/thread-279-1-1.html 《移动端 ...
上一篇:求助RainbowChat中的RainbowAV无法打开音视频对话下一篇:选择使用UDP传输1kb~2kb的数据包是否合理?
推荐方案
评论 2
如果你的通信程序运行在很烂的网络下,建议优先考虑UDP协议。
不然TCP协议在这种情况下的重传,就跟你在国内访问国外的网站一样,为什么网页半天卡住出不来的原因是一样的:因为各种丢包和重传,以及指数退避算法导致的。

这几篇文章你可以参考一下:
《简述传输层协议TCP和UDP的区别》http://www.52im.net/thread-580-1-1.html
《为什么QQ用的是UDP协议而不是TCP协议?》http://www.52im.net/thread-279-1-1.html
《移动端即时通讯协议选择:UDP还是TCP?》http://www.52im.net/thread-33-1-1.html
《网络编程懒人入门(五):快速理解为什么说UDP有时比TCP更有优势》http://www.52im.net/thread-1277-1-1.html
《技术扫盲:新一代基于UDP的低延时网络传输层协议——QUIC详解》http://www.52im.net/thread-1309-1-1.html
《让互联网更快:新一代QUIC协议在腾讯的技术实践分享》http://www.52im.net/thread-1407-1-1.html

另外,微信的这个篇文章里跨区域高延迟烂网下的数据通信就是基于UDP写的,不然TCP没法搞的好:
《架构之道:3个程序员成就微信朋友圈日均10亿发布量[有视频]》http://www.52im.net/thread-177-1-1.html
“容灾方案”这一节便是。)
引用:JackJiang 发表于 2018-03-19 15:36
如果你的通信程序运行在很烂的网络下,建议优先考虑UDP协议。
不然TCP协议在这种情况下的重传,就跟你在国 ...

学习了,群主不声不响地就扔出一堆资料,厉害!
签名: 该会员没有填写今日想说内容.
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部