请问linux socket 粘包解决方法
时间:2010-08-25
来源:互联网
本帖最后由 youzlm 于 2010-08-25 22:14 编辑
请问linux socket 粘包解决方法,大家提提建议
由于socket 缓冲池满才发送,,客户端接收由于网络问题,数据不是按顺序收,照成包分离,所以数据不一样.
有没有解决办法.
请问linux socket 粘包解决方法,大家提提建议
由于socket 缓冲池满才发送,,客户端接收由于网络问题,数据不是按顺序收,照成包分离,所以数据不一样.
有没有解决办法.
作者: youzlm 发布时间: 2010-08-25
我一般这样写,发包时,前4个字节代表这个包的长度,接收端先读4个字节,然后就知道后面要读多少数据了。 然后一直把数据包读完。如果是TCP的话,数据包的顺序是不可能乱的。
作者: osdba 发布时间: 2010-08-25
回复 osdba
我们的方法是一样的..但是你在发包时没有出现粘包情况吗?
我们的方法是一样的..但是你在发包时没有出现粘包情况吗?
作者: youzlm 发布时间: 2010-08-25
没有发现过。从理论上说TCP是可靠的协议,不会出现乱序问题。同时也不是一定要等到socket 缓冲池满s时才发送,没有满时会有一个延迟,最后还是会发出去。
作者: osdba 发布时间: 2010-08-25
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28