TCPIP通讯一个包多少个字节比较稳定些?

wcg_jishuo1 2012-10-16 04:35:42
TCPIP通讯一个包多少个字节比较稳定些?
我用2048,1024 个字节,有时候会出现掉包 是设备跟linux服务器交互,需要交互很多次。在过程中经常出现掉包。

...全文
561 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2012-10-17
  • 打赏
  • 举报
回复
楼主如果问“UDP通讯一个包多少个字节比较稳定些?”就比较专业了。
赵4老师 2012-10-17
  • 打赏
  • 举报
回复
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
http://topic.csdn.net/u/20120210/09/51109ed0-07b9-41f2-b487-a51597f2ca01.html
hu7324829 2012-10-17
  • 打赏
  • 举报
回复
TCP是基于流传输的, 发送方和接收方都不管传输的内容, 都看成是一个一个字节.
翅膀又硬了 2012-10-17
  • 打赏
  • 举报
回复
TCP不丢包吧,你用的UDP吧?
zhouzhipen 2012-10-16
  • 打赏
  • 举报
回复
如果TCP丢包,那就不是TCP了。如果只是你一次没有收到指定的数据长度,可能是OS为你的数据分包了,再发出一次接收命令就行了。
xiaoxiao8310 2012-10-16
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]

TCP层会帮你拆开的,主要是考虑BUFFER会不会溢出之类的问题。因为TCP会丢包重传,这个期间,要保证BUFFER不溢出。
[/Quote]
分片和重组的开销、分片多,丢包的可能性增大
chcucl 2012-10-16
  • 打赏
  • 举报
回复
TCP层会帮你拆开的,主要是考虑BUFFER会不会溢出之类的问题。因为TCP会丢包重传,这个期间,要保证BUFFER不溢出。
ctreewang 2012-10-16
  • 打赏
  • 举报
回复
想发送多少发送多少。操作系统会给你的包分开的。。
mujiok2003 2012-10-16
  • 打赏
  • 举报
回复
除非ICMP被禁用,否则系统可找到合适的MTU给IP的数据包分片。
xiaoxiao8310 2012-10-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

你不用管啦,OS会为你处理
[/Quote]
为什么不用管,你创建的interface的MTU值一般默认1500,但是很多情况下与有的服务器通信就出现上述问题.
建议手动:ifconfig ifName mtu 1500后依次递减4,没丢包时确定下最终用的mtu值.
mujiok2003 2012-10-16
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
你不用管啦,OS会为你处理
[/Quote]

赞同。
mymtom 2012-10-16
  • 打赏
  • 举报
回复
TCP是字节流,没有大小之说。
Gloveing 2012-10-16
  • 打赏
  • 举报
回复
你不用管啦,OS会为你处理
xiaoxiao8310 2012-10-16
  • 打赏
  • 举报
回复
MTU:1460

70,009

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧