【发布时间】:2010-05-07 17:48:32
【问题描述】:
我正在开发通过 UDP 运行的伪传输层软件,它提供可靠的面向连接的传输,作为 TCP 的替代方案。为了最大化网络效率,我们在初始化时查询“最佳”网络适配器的 MTU。
MIB_IFROW row = {0};
row.dwIndex = dwBestIfIndex;
dwRes = GetIfEntry(&row);
在线搜索我发现您可以使用以下 netsh 命令从命令提示符(不是 C++ API)中查询相同的值
netsh interface ipv4 show interfaces
netsh interface ipv4 show subinterfaces
令人不安的问题是,虽然 row.dwMtu 可能设置为 1500,但在发送笔记本电脑上窥探网络流量表明我们的数据包被分割成 1300 字节的数据包。 netsh 还报告 MTU 为 1300。
显然 netsh 命令报告的值是实际使用的值。有谁知道我可以调用什么 API 来获得与 netsh 相同的值?
【问题讨论】:
标签: windows-vista netsh mtu iphelper