在阅读了几十篇文章后,我找不到一个简单问题的答案——UDP 数据报可以分片到达吗?我知道如果它的大小超过 576 字节或类似大小,它可能会在途中变得碎片化,但它会在到达时合并吗?
换句话说,如果我通过 udp::socket::send_to()
发送一个数据包,我可以假设如果它没有在途中丢失,我会通过一个单次调用 udp::socket::async_receive_from()
?
最佳答案
OS 网络堆栈将重新组装碎片并将完整的数据包提供给用户空间。如果其中一个片段丢失,用户空间将不会收到其余片段,但什么也不会。
关于UDP数据包分片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23847620/