TcpListener.ExclusiveAddressUse 屬性

定義

取得或設定 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 方法,然後設定這個屬性。

適用於