2011-09-26 4 views
0

を供給した。Socket.bind - 無効な引数が、私が使用してマシン上で利用可能なすべてのIPアドレスにソケットをバインドしたい

mainSocket.Bind(new IPEndPoint(IPAddress.Parse("0.0.0.0"), 0)); //or IPAddress.Any 

を私はAn invalid argument was supplied

mainSocket.IOControl(IOControlCode.ReceiveAll, byTrue, byOut); 

上を取得

代わりに、私はIPを指定すると、うまく動作します。

enter image description here

[OK]を、多分それは達成することは不可能です。しかし、どのインターネットインターフェースがインターネットに接続し、それを入手するのに使用されているかを検出する方法はありますか?

+0

エンドポイントにIPアドレスを指定する必要があります。IPアドレスをゼロで指定する必要があります。エンドポイントは取得できません。特定のIPアドレスが必要です。ポート。 –

+0

チェック私は、このリンクhttp://stackoverflow.com/questions/4146885/socket-bind-returns-the-requested-address-is-not-valid-in-its-context-on-win –

+0

はそれを知っているが、すべてのipのバインドはどうですか? – technology

答えて

1

私はそれは不可能だと思う(と仮定すると、ユーザーは、NAT /ルータの背後にあります)。 TCP/IP Raw Sockets

関連する問題