TcpListener.ExclusiveAddressUse プロパティ

定義

TcpListener で、1 つの基になるソケットだけに特定のポートの待機を許可するかどうかを指定する Boolean 値を取得または設定します。

public:
 property bool ExclusiveAddressUse { bool get(); void set(bool value); };
public bool ExclusiveAddressUse { get; set; }
member this.ExclusiveAddressUse : bool with get, set
Public Property ExclusiveAddressUse As Boolean

プロパティ値

TcpListener で、1 つの TcpListener だけに特定のポートの待機を許可する場合は true。それ以外の場合は false。 既定値は、Windows Server 2003 および Windows XP Service Pack 2 以降では true で、その他のすべてのバージョンでは false です。

例外

TcpListenerが開始されました。 Stop() メソッドを呼び出して、ExclusiveAddressUse プロパティを設定してください。

基になるソケットへのアクセスを試みているときにエラーが発生しました。

基になる Socket は閉じられています。

次のコード例では、 プロパティを ExclusiveAddressUse 取得および設定します。

public:
    static void GetSetExclusiveAddressUse(TcpListener^ listener)
    {
        // Set Exclusive Address Use for the underlying socket.
        listener->ExclusiveAddressUse = true;
        Console::WriteLine("ExclusiveAddressUse value is {0}",
            listener->ExclusiveAddressUse);
    }
public static void GetSetExclusiveAddressUse(TcpListener t)
{
    // Set Exclusive Address Use for the underlying socket.
    t.ExclusiveAddressUse = true;
    Console.WriteLine("ExclusiveAddressUse value is {0}",
        t.ExclusiveAddressUse);
}
Public Shared Sub GetSetExclusiveAddressUse(t As TcpListener)
   ' Set Exclusive Address Use for the underlying socket.
   t.ExclusiveAddressUse = True
   Console.WriteLine("ExclusiveAddressUse value is {0}", t.ExclusiveAddressUse)
End Sub

注釈

既定では、複数のリスナーが特定のポートをリッスンできます。 ただし、ポートに送信されたネットワーク トラフィックに対して操作を実行できるのは、リスナーの 1 つだけです。 複数のリスナーが特定のポートにバインドしようとすると、より特定の IP アドレスを持つリスナーによって、そのポートに送信されるネットワーク トラフィックが処理されます。 プロパティを ExclusiveAddressUse 使用すると、複数のリスナーが特定のポートをリッスンしないようにすることができます。

を呼び出す Start前にこのプロパティを設定するか、 メソッドを Stop 呼び出して、このプロパティを設定します。

適用対象