TcpListener.ExclusiveAddressUse 屬性
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
取得或設定 Boolean 值,其指定 TcpListener 是否只允許一個基礎通訊端接聽特定的通訊埠。
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 只允許一個 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
備註
根據預設,多個接聽程式可以接聽特定埠。 不過,只有其中一個接聽程式可以在傳送至埠的網路流量上執行作業。 如果多個接聽程式嘗試系結至特定埠,則具有更特定IP位址的接聽程式會處理傳送至該埠的網路流量。 您可以使用 ExclusiveAddressUse 屬性來防止多個接聽程式接聽特定埠。
在呼叫 Start之前設定這個屬性,或呼叫 Stop 方法,然後設定這個屬性。