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 方法,然后设置此属性。

适用于