社区
Linux/Unix社区
帖子详情
TCP发送数据的时候出现错误
qq_42011501
2018-12-05 08:25:43
再用客户端发送数据的时候,是按照不缓冲直接发送的方式,一次发送50个字节的数据,一秒发送两个数据,做了一个实验,我计数发送100个数据,发现,有10个左右的数据被分成了两包数据发送,其他的正常发送,这是怎么一回事?
...全文
980
11
打赏
收藏
TCP发送数据的时候出现错误
再用客户端发送数据的时候,是按照不缓冲直接发送的方式,一次发送50个字节的数据,一秒发送两个数据,做了一个实验,我计数发送100个数据,发现,有10个左右的数据被分成了两包数据发送,其他的正常发送,这是怎么一回事?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
无名小卒~
2019-01-07
打赏
举报
回复
还有可以协议包头包尾是固定数据,用类似于内核的环形缓冲区来处理数据。如果需要应答的话性能会降低,不如使用udp+手动应答,效率最高。或者直接使用sctp,达到报文完整性和应答的效果
cs十七
2019-01-06
打赏
举报
回复
楼上已经回答了,面向流的协议,所以我们调用完 发送函数后,下层操作系统 怎么发送出去、TCP怎么分节、IP怎么分包,好像都不是确定的。 这个帖子里有关于分包、粘包的介绍。 https://bbs.csdn.net/topics/392478751 https://bbs.csdn.net/topics/380167545
haisan000
2019-01-06
打赏
举报
回复
应该没办法决定底层则么发送数据报. 往下这个归于物理层和数据链路层, 不好干预传输方式 , 就算干预也只是修改数据而已
1.我一般是固定定义8个字节长度头(可以加上校验信息之类),先发送这8个字节长度,接收端先接收这8个字节,然后根据这个长度进行发送接收.
2.每个包加个校验码或者特殊信息,收到后进行校验码验证.
这样做的好处:
1.节约网络(当然可以进一步进行解压缩,牺牲传输速度和性能等)
2.每个包都可以保证自己想要的精确信息
经过很长时间实践,效果还可以
诺水城子
2019-01-03
打赏
举报
回复
TCP是面向数据流的,分包、粘包都是正常现象,
一般有3种解决方案:
(1)发送固定长度的消息
(2)把消息的尺寸与消息一块发送
(3)使用特殊标记来区分消息间隔
梦想不能在远方
2018-12-17
打赏
举报
回复
引用 2 楼 qq_42011501 的回复:
具体要怎么实现呢
这块我感觉得是你服务端处理,报文得收全,一次看没收完,得继续收。
qq_42011501
2018-12-12
打赏
举报
回复
引用 6 楼 Miles-Meng 的回复:
这很正常啊,TCP是面向数据流的
有什么方法解决这个呢
mz454619501
2018-12-11
打赏
举报
回复
这很正常啊,TCP是面向数据流的
qq_42011501
2018-12-08
打赏
举报
回复
引用 4 楼 LubinLew 的回复:
ethtool -K eth0 tso off
可以具体说说嘛 我发送端是用的手机 一直再发送数据
LubinLew
2018-12-07
打赏
举报
回复
ethtool -K eth0 tso off
qq_42011501
2018-12-06
打赏
举报
回复
具体要怎么实现呢
梦想不能在远方
2018-12-06
打赏
举报
回复
出现这种情况,有可能是网卡的tso给分片了
TCP
协议.之
发送数据
,粘包,拆包问题(二)
Tcp
协议
发送数据
,粘包,拆包问题,这句话本身是
错误
的,
tcp
是协议,发送接收数据时并不会粘包,
tcp
,ip,只负责传输数据 粘包是应用层解析数据时,包1和包2粘连在一起,解析数据时,
出现
错误
的,网络中,很多博主,...
TCP
发送和接收数据
学习笔记--
TCP
发送和接收数据
TCP
协议
TCP
通信黏包
TCP
协议
TCP
通信 黏包
python
tcp
发送_使用python模拟
TCP
连接并实现
发送数据
使用python模拟
TCP
连接并实现
发送数据
发布时间:2020-11-07 14:38:14来源:亿速云阅读:109作者:Leah今天就跟大家聊聊有关使用python模拟
TCP
连接并实现
发送数据
,可能很多人都不太了解,为了让大家更加了解,小编给...
TCP
发送数据
流程详解
TCP
发送数据
流程详解
TCP
数据发送之发送新数
在上一篇笔记
TCP
之数据发送(一)中介绍了
TCP
发送相关系统调用的内核核心处理函数
tcp
_sendmsg(),并且可以看出该函数做的核心工作就是将待发送的数据组织成一个个的skb,并且将这些skb按照先后顺序放入到TCB的发送队列...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章