none
IPv6 UDPパケットの送信元アドレスの取得 RRS feed

  • 質問

  • WindowsXP上でWinsockでIPv6のUDPパケットを出すプログラムを書いています。

    パケットの送信元アドレスをパケットを出す前に取得するにはどうすればよいのでしょうか?

     

    パケットを出すPCは複数のIPv6アドレスを持ち、送信先は随時変更される可能性があります。自分のやっていることとほぼ同じ内容のサンプルコードがMSDNにあったのですが、IPv6 UDPで送信する場合だけ思うような結果が得られません。(送信元アドレスが"::"になります)

     

    IPv6-Enabled Client Code

    http://msdn2.microsoft.com/en-us/library/ms738630.aspx

    IPv6-Enabled Server Code

    http://msdn2.microsoft.com/en-us/library/ms738639.aspx

     

    プログラムの起動の仕方

    サーバ側

    > server -t {UDP|TCP} -p 5001

    クライアント側

    > client -t {UDP|TCP} -f PF_UNSPEC -p 5001 -s {IPv6アドレス | IPv4アドレス}

     

    IPv4の場合はTCP, UDPともに期待した結果がでました。

    IPv6の場合TCPではよいのですが、UDPの場合だけワイルドカードアドレス(?)になります。

     

    何かよい方法がありましたら教えていただけないでしょうか。

     

    2007年5月8日 6:05