TcpListener.ExclusiveAddressUse プロパティ
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 呼び出してこのプロパティを設定します。