我的应用程序正在创建一个 UDP 套接字并设置一些选项。一种选择是IP_MULTICAST_TTL.
当应用程序在 Windows 7 上运行时,我使用 wireshark 观察线路上的流量,我可以看到 TTL 始终为 1,这意味着它setsockopt()
没有任何效果(虽然它不会返回错误)。
深入研究代码,我发现IP_MULTICAST_TTL
Windows 7 上的值为 10,其他 Windows 版本上的值为 3。
如果我在 Windows 7 上强制该值为 3,setsockopt()
则工作正常,wireshark 报告正确的值。
我找到了这篇文章: http: //support.microsoft.com/kb/257460并且我确认我在 Winsock2.h 之后包含 Ws2tcpip.h 并且我正在链接 Ws2_32.lib
有什么建议么?