1

我的应用程序正在创建一个 UDP 套接字并设置一些选项。一种选择是IP_MULTICAST_TTL.

当应用程序在 Windows 7 上运行时,我使用 wireshark 观察线路上的流量,我可以看到 TTL 始终为 1,这意味着它setsockopt()没有任何效果(虽然它不会返回错误)。

深入研究代码,我发现IP_MULTICAST_TTLWindows 7 上的值为 10,其他 Windows 版本上的值为 3。

如果我在 Windows 7 上强制该值为 3,setsockopt()则工作正常,wireshark 报告正确的值。

我找到了这篇文章: http: //support.microsoft.com/kb/257460并且我确认我在 Winsock2.h 之后包含 Ws2tcpip.h 并且我正在链接 Ws2_32.lib

有什么建议么?

4

0 回答 0