c++ - 如何检查数据包是否由于数据包碎片而被丢弃?
问题描述
我想编写一个计算 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?
解决方案
推荐阅读
- javascript - Vuex(Flux)模式:应该存储哪种类型的数据?
- bash - 有没有办法改变 tmux 中某些文本的颜色?
- c# - 在 c# 的解决方案中使用线程进行 IO
- python - 在 Python 中代表不同所有者使用服务帐户凭据写入 Google 云端硬盘
- javascript - 从对象数组中提取唯一值,其中值是 JavaScript 中的嵌套对象
- azure-devops - 在 Azure 管道 yml 中指定框架/平台
- nginx - 看不懂 nginx.ingress.kubernetes.io/app-root: "/identity" 下面有多个服务
- c++ - 为什么在 QT windows 上使用 opencv 会出现此错误?
- javascript - 想要将页面重定向到只能通过登录访问的另一个网站的另一个页面
- geocoding - 地理编码地址不正确