博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TCP传输过程中丢包问题
阅读量:6815 次
发布时间:2019-06-26

本文共 510 字,大约阅读时间需要 1 分钟。

  hot3.png

UDP传输快,适合视频,直播之类的传输数据,但是容易丢失数据;

TCP稳定,不会丢失数据,适合传输文字之类的

1.  TCP是基于不可靠的网络实现可靠的传输,肯定也会存在掉包的情况

2.  TCP是一个“流”协议,一个完整的包可能被TCP拆分成多个包发送,也有可能把小的封装成大的发送,这就是TCP粘包和拆包问题。

TCP协议本身是保证传输的数据完整性不会丢数据的。

TCP 是保证链接完整的,数据丢失会重传,如果链接断开了,后面数据都会没有

如果通信中发现缺少数据或者丢包,

那么,最大的可能在于程序发送的过程或者接收的过程出现问题。
例如服务器给客户端发大量数据,Send的频率很高,

那么就有可能在Send时发生错误(原因可能是又多种,可能是程序处理逻辑问题,多线程同步问题,缓冲区溢出问题等等)

如果没有对Send失败做处理重发数据,那么客户端收到的数据就会比理论应该收到的少,就会造成丢数据,丢包的现象。

这种现象,其实本质上来说不是丢包,也不是丢数据,只是因为程序处理有错误,导致有些数据没有成功地被socket发送出去

转载于:https://my.oschina.net/qqlet/blog/1826223

你可能感兴趣的文章
ASHRAE新标准促进降低数据中心能源消耗
查看>>
程序猿如何从产品的角度去提升应用的体验之Android权限优化篇
查看>>
夏普欲收回美洲品牌授权 海信总裁:严格按照合同办
查看>>
大数据市场迎来扩容期 本土内存数据库抢位崛起
查看>>
2016年亚太地区网络广告支出预计超过北美
查看>>
智慧医疗节约救治时间,降低患者死亡率
查看>>
zephir-(2)安装和初体验
查看>>
IPython4_Notebook
查看>>
IE7/IE8不兼容js trim函数,自己实现
查看>>
Objective-C的泛型
查看>>
Mac OSX 命令行知识[转]
查看>>
在Tornado中使用Django的ORM的注意事项
查看>>
用node-webkit把web应用打包成桌面应用
查看>>
ORM数据层框架的设计热点:更新指定的列的几种设计方案
查看>>
PHP+Sphinx建立高效的站内搜索引擎
查看>>
rac问题思考总结
查看>>
Linux计算命令
查看>>
deis客户端操作命令
查看>>
Spring初始化Bean的过程
查看>>
[HW] OJ记录20题之四
查看>>