WindowsXPで実行されている.NET3.5アプリケーションのループバックアドレス空間に送信しようとしています。コードは単純です:
receiver = new IPEndPoint(IPAddress.Parse("127.0.0.2"), 8000);
sock.SendTo(data, len, SocketFlags.None, receiver);
コードを実行すると、到達不能なホストソケット例外が発生します。ループバックインターフェイスは常に存在し、到達不能なホスト例外を生成するべきではないため、これは私には奇妙に思えます。
Windows 7はコードを問題なく実行するため、問題はさらに奇妙になります。
つまり、XPでこれを機能させるためのヒントがあれば、ぜひ教えてください。
編集:
いくつかの情報:
- 何かが127.0.0.2でリッスンしている、私のnetstatは次のことを示しています:
UDP 127.0.0.2:8000:5824 _
XP SP3を実行していますが、テストマシンにファイアウォールがありません
127.0.0.2にpingを実行すると、XPに気づき、応答が返されます。
Reply from 127.0.0.1
Windows 7では、pingしたアドレスから応答が返されます。
Reply from 127.0.0.2
これが問題になる可能性があると思います。そのため、実際にはプログラミングの問題ではなく、XP自体の問題です...
-ダン