10

を構築するための 3 つのオーバーロードがありますTcpListener

特定のポートでリッスンしたいのですが、使用可能なすべてのインターフェイスでリッスンします。それを行うために利用できるオーバーロードがありましたが、 としてマークされていobsoleteます。

TcpListener.NET 内のすべてのインターフェイスで特定のポートをリッスンするための新しい優先/廃止されていない方法は何ですか?


参考までに、IPEndPointは次のとおりです。

public IPEndPoint(
    IPAddress address,
    int port
)

これが 3 番目のオーバーロードです。そして、IPAddressコンストラクターとして次のように取ります。

  • abyte[]
  • Int64
  • byte[]と_Int64
4

1 に答える 1

22

にバインドするだけIPAddress.Anyです-これが通常行われる方法です...よくわかりませんが、バインドする必要があるかもしれませIPAddress.IPv6Anyん。

このSO 投稿では、すべての IP アドレスに明示的にバインドすることをお勧めします。この SO投稿には、すべての IP アドレスを取得する方法に関するコードが含まれています...


MSDNから:

どのローカル アドレスが割り当てられているかを気にしない場合はIPAddress.Any、localaddr パラメーターを指定すると、基になるサービス プロバイダーが最も適切なネットワーク アドレスを割り当てます。


MSDNから:

IPAddress.Anyフィールド

サーバーがすべてのネットワーク インターフェイスでクライアント アクティビティをリッスンする必要があることを示す IP アドレスを提供します。

于 2011-08-30T02:32:12.667 に答える