首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >处理零碎的UDP

处理零碎的UDP
EN

Stack Overflow用户
提问于 2013-04-26 07:35:23
回答 1查看 149关注 0票数 0

好吧,在任何人问起之前,TCP不是一个选项。

所以,我正在通过UDP发送一些消息。每条消息的开头都有一个4字节的长度字段。到目前为止,我一直在使用这个字段来确定我是否有一个完整的消息。

但我想知道,如果我有两个大消息,足够大,以至于它们都像这样碎片化:

代码语言:javascript
复制
Message 1
Length 1 | Fragment 1-1 | Fragment 1-2 | Fragment 1-3

Message 2
Length 2 | Fragment 2-1 | Fragment 2-2 | Fragment 2-3

我一个接一个地发送,它们可以像这样交错交付吗:

代码语言:javascript
复制
Length 1 | Length 2 | Fragment 1-1 | Fragment 2-1 | Fragment 1-2 | Fragment 2-2 | Fragment 1-3 | Fragment 2-3

如果是这样的话,如果我不能控制消息是如何分段的,我怎么可能重新组合这些消息呢?

编辑:还有..我刚刚想到UDP可能不会分片,我看到的“分片”可能是因为使用固定大小的缓冲区调用.receive()方法造成的。所以这可能根本不是问题。有没有人能确认UDP碎片?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-26 07:41:33

不不可能。UDP数据报被完整和完整地传送,或者根本不传送。您不必担心交错或重新组装。您所要担心的就是无法交付、重复交付和无序交付;-)

如果您认为您看到的是碎片,那么您实际上看到的是代码中的编程错误。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16226424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档