UDP(TCP)传输数据的时候,如果数据量很小,可能会被拆包传送吗??

draculamx 2014-10-09 11:52:24
这个问题我有点迷糊,假设现在我接受别人用UDP(TCP)发来的数据包,包的内容不大,不到300字节,那么我用socket接收数据时,是不是每次调用 “recvfrom函数” 读到的都是300字节的完整的包??

还是说调用 “recvfrom函数” 时,有时候收到的数据不到300字节,需要再次使用 “recvfrom函数” 才能收到后半部分??

我们在 Windows api 这个层面上,能够控制发送的时候,不拆包吗??(前提是数据包不大),发送大数据包的时候,另当别论。。。。
...全文
607 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
我不懂电脑 2014-10-16
  • 打赏
  • 举报
回复
udp不像tcp是数据报协议,如果超过长度会截断,不超过不会分包
draculamx 2014-10-12
  • 打赏
  • 举报
回复
我擦,都没人回答啊。。。来人散个分也好啊。。
bluesen 2014-10-10
  • 打赏
  • 举报
回复
1000多个字节以下,udp是不会拆包的
draculamx 2014-10-09
  • 打赏
  • 举报
回复
http://blog.csdn.net/buptzwp/article/details/5055487 http://blog.sina.com.cn/s/blog_52a079c10100pmvi.html 刚去网上找了两篇文章,结果差得有点远,一个说是不到1500,就不会拆包,一个说的是每次用recv()接收到的长度也为16384,而大于或小于这个值,都会被拆分或合并 这个拆包的动作和操作系统有关,还是和tcp/ip底层的实现有关??

1,221

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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