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