1

私のアプリケーションは、UDP ソケットを作成し、いくつかのオプションを設定しています。オプションの1つは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 に対してリンクしていることを確認します。

助言がありますか?

4

0 に答える 0