- ベストアンサー
icmpv6の応答を受信できない
- ipv6のpingの送受信ができるソースを実行しても、ipv6の受信のみができない。
- ping6の応答は帰っているが、受信(WSARecvFrom)でタイムアウトとなる。
- 受信ソケットのbindの引数のaddrinfoに原因があるのではと試してもうまくいかない。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
recvfromが判りませんが、通信が確立しているのでしょうか。 その当りの細かい点が判りませんので何とも言えないのですが。 ipv4ipv6pingexampleを参考にされたとのことですが、下記のサーバー用(複数通信)のサンプルも参考にされたらいかがでしょうか。 http://members.jcom.home.ne.jp/toya.hiroshi/winsock2/index.html?ipv6_enabled_server_code_2.html
その他の回答 (1)
- samtomsan
- ベストアンサー率55% (1060/1897)
つまらぬ質問ですが、XPはIPv6のプロトコルは自分でインストールする必要がありますが、インストールされているでしょうか。 Windows XP IPv6 プロトコルに関する FAQ http://technet.microsoft.com/ja-jp/library/cc835599.aspx あなたのマシンでIPv6を体験 http://www.atmarkit.co.jp/fnetwork/tanpatsu/10winxpv6/winxpv602.html IPv6ネットワークを作ろう http://www.hieda.net/pcnwbt/ipv6/
補足
IPv6のプロトコルはインストールしています。 DOSウィンドウでping6をすると、echoの返信が帰ってきます。 念のため、ipv6 installを実行後、確認をしましたが、現象は同じです。 下記は、DOSウィンドウでping6の結果です。 Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\xxxxx>ping6 240f:0010:4ca3:0001:21b:8bff:fe79:4f5e Pinging 240f:10:4ca3:1:21b:8bff:fe79:4f5e from 240f:10:4ca3:1:c8f6:d85b:d092:3516 with 32 bytes of data: Reply from 240f:10:4ca3:1:21b:8bff:fe79:4f5e: bytes=32 time<1ms Reply from 240f:10:4ca3:1:21b:8bff:fe79:4f5e: bytes=32 time<1ms Reply from 240f:10:4ca3:1:21b:8bff:fe79:4f5e: bytes=32 time<1ms Reply from 240f:10:4ca3:1:21b:8bff:fe79:4f5e: bytes=32 time<1ms Ping statistics for 240f:10:4ca3:1:21b:8bff:fe79:4f5e: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
補足
samtomsan ありがとうございます。 recvfromは、参考にしたコードがこれだったので、同じにしました。 送信元のipアドレスが分かります。ipv4のpingでは、家のルータのアドレスがセットされていました。 ping6では、ipv6のアドレスが入るはずですが、受信待ちで止まってしまうので、、、 recv関数でも試しましたが、ping6では、受信待ちで止まってしまいます。 通信が確立しているか?について icmpはコネクションレスのやりとりなので、通信は確立していません。 紹介して頂いた、サンプルコードは、winsock2のipv6のtcpとudpの送受信コードのサンプルと思います。 今回は、ipv6のicmpの受信が出来ないので、チョット違うように思います。 winsock2のrawsocketを利用して、icmpv6パケットをキャプチャする方法と言う視点で、 もう一度、調べなおして見たいと思います。 色々と、アドバイスを頂き有難うございました。 この質問は、一旦、締め切りとさせて頂きます。 ありがとうごじました。