1

私はソケット プロジェクトに取り組んでおり、サーバー側の UDP リスナーを作成します。私はいくつかの例を見てきましたが、これを理解できません。「socket.Bind(new IPEndPoint( IPAddress.Any , 3000));」のように UDP ソケットをバインドする必要があるのはなぜですか? つまり、TCP ソケットではローカル IP のみをバインドしますが、UDP ソケットでは IPAddress.Any をバインドします。なぜ私たちはこれをしているのですか?

編集: ワイルドカードと特定の IP アドレスは何ですか? それらをどのように使用できますか?

4

2 に答える 2

1

私はこれを見つけました、そして私はそれを探していたと思います:)

ワイルドカードは特別なローカル IP アドレスです。通常は「任意」を意味し、バインド操作にのみ使用できます。

この IP アドレスの値は 0.0.0.0 です。IP アドレス 1.1.1.1 と IP アドレス 2.2.2.2 の 2 つのネットワーク アダプターがある場合、リッスン ソケットを作成して 1.1.1.1 にバインドし、ソケットが 2.2.2.2 にバインドしないようにすることができます。また、リッスン ソケットを作成して 2.2.2.2 にバインドし、1.1.1.1 にバインドしないようにすることもできます。気にせず、ソケットをすべてのネットワーク カードにバインドしたい場合は、それをワイルドカード アドレスにバインドします。

もう 1 つの特別な値は 127.0.0.1 です。これは、同じコンピューター上のクライアントのみがサーバーに接続できることを意味します。

リンク: InetSocketAddress のワイルドカード アドレスとはどういう意味ですか?

于 2013-06-23T07:14:33.243 に答える