首页 > 解决方案 > 如何检查数据包是否由于数据包碎片而被丢弃?

问题描述

我想编写一个计算 MTU 的算法。我正在使用 WinSock2 库中的函数编写所有这些内容。

根据我从其他帖子中了解到的情况,人们建议将不分段位设置为然后发送true各种长度的消息,直到找到最大数据包大小,但我不明白的是:
如何检查丢弃的数据包?

例如:

/// socket has the "don't fragment" bit set.
int res = sendto(socket, dataToSend, dataToSendLen, flags /* = NULL*/, remoteAddr, remoteAddrLen);
/// How to check whether this packet has been dropped due to fragmentation?

标签: c++winsock

解决方案


推荐阅读