C# TCP/IP服务端,收到的包长度非常有规律,2800或1400字节,为什么???

khler 2014-06-25 10:52:14
用C#写的一个服务端,接收到的包长度非常有规律,2800字节,极少情况会出现别的包长度,比如532字节,370字节啥的,但98%都是2800字节,为什么呢?
服务端缓存和客户端缓存都没限制,就是说远远大于2800,为什么偏偏是2800,而且这么有规律?
客户端是通过无线连接到路由器的,大家有没有碰到过这种情况???
...全文
530 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
khler 2014-07-02
  • 打赏
  • 举报
回复
硬件直接发采集数据,没定制包头啥的,光秃秃的数据(数据前后带了简单的起始标记、结束标记及校验字节)。 发送方肯定是采集到一个包(30bytes)就发一次的,结果是,客户端不是30一个包30一个包的接收到发过来的数据,而是一次收到2800个字节,攒包了,所以导致我这边有点延时。 我一直怀疑是硬件方用的无线模块是处于一个节能模式,没有虑实时性,硬件部不承认——真让我猜到了,让硬件部对供应商穷追猛打,终于认了,改了模式就好了,发一个字节,我这边都能马上收到一个字节,而不会攒包了! 谢谢各位!
tcmakebest 2014-06-27
  • 打赏
  • 举报
回复
关于数据包长度的规律,有几种情况, 一是由于发送方正好使用此大小的缓存,发送时没有指定数据长度错发了. 二是接收方使用了此大小的缓存,接收时没有正确取得数据长度,误用了缓存的长度 三是数据包确实是此大小,真实的有效数据长度另有规则.
wightzhang 2014-06-27
  • 打赏
  • 举报
回复
不是服务器端分包了么?
於黾 2014-06-27
  • 打赏
  • 举报
回复
引用 7 楼 khler 的回复:
[quote=引用 5 楼 Z65443344 的回复:] 你的服务端和客户端在局域网下测试过么?(不要无线,不要路由器)
问题是发送端是个小的硬件设备,只有无线输出方式。。。。。。[/quote] 你的程序除了在发送端里执行,在电脑上直接运行,跑不起来? 先用电脑测试,没问题了再放到设备里跑. 这样两头都可以用调试模式断点跟. 否则到底发生了什么,如何能知道?
khler 2014-06-27
  • 打赏
  • 举报
回复
没人搞得定??
jiaoshiyao 2014-06-27
  • 打赏
  • 举报
回复
你有看数据内容吗
khler 2014-06-25
  • 打赏
  • 举报
回复
引用 2 楼 rtdb 的回复:
客户端的socket有个参数: socket.NoDelay = true;
你说的是TCP还是UDP?
khler 2014-06-25
  • 打赏
  • 举报
回复
引用 1 楼 khler 的回复:
UDP 的居然是1400,为什么呢?有人知道吗??? 它默认封装了这么大的包发过来,导致我很久(600毫秒左右)才能收到一个包,降低了实时性。
你说的是TCP还是UDP?
rtdb 2014-06-25
  • 打赏
  • 举报
回复
客户端的socket有个参数: socket.NoDelay = true;
khler 2014-06-25
  • 打赏
  • 举报
回复
UDP 的居然是1400,为什么呢?有人知道吗??? 它默认封装了这么大的包发过来,导致我很久(600毫秒左右)才能收到一个包,降低了实时性。
khler 2014-06-25
  • 打赏
  • 举报
回复
引用 6 楼 sunny906 的回复:
服务端缓存和客户端缓存都没限制,但是每次接收到的包长度又是2800字节,只能说明你的数据包被截断了,每次只发送前面2800字节的数据
那为什么会被截断?被谁截断了呢? 现在由于发送方一次攒2800字节发一次,或者我只能以2800字节一个包的方式接一次,导致延迟了将近600毫秒左右,实时性降低非常明显。 我就想让他以尽量小的包发过来,别攒大包,攒大包就延时了。
khler 2014-06-25
  • 打赏
  • 举报
回复
引用 5 楼 Z65443344 的回复:
你的服务端和客户端在局域网下测试过么?(不要无线,不要路由器)
问题是发送端是个小的硬件设备,只有无线输出方式。。。。。。
sunny906 2014-06-25
  • 打赏
  • 举报
回复
服务端缓存和客户端缓存都没限制,但是每次接收到的包长度又是2800字节,只能说明你的数据包被截断了,每次只发送前面2800字节的数据
於黾 2014-06-25
  • 打赏
  • 举报
回复
你的服务端和客户端在局域网下测试过么?(不要无线,不要路由器)

111,093

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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