TcpClient.ExclusiveAddressUse 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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
属性值
如果 TcpClient 只允许一个客户端使用特定端口,则为 true
;否则为 false
。 在 Windows Server 2003、Windows XP Service Pack 2 及更高版本中,默认为 true
;在所有其他版本中,默认为 false
。
例外
尝试访问基础套接字时出错。
已关闭基础 Socket。
示例
下面的代码示例创建 并 TcpClient 获取 并设置 属性的值 ExclusiveAddressUse
。
static void GetSetExclusiveAddressUse( TcpClient^ t )
{
// Don't allow another process to bind to this port.
t->ExclusiveAddressUse = true;
Console::WriteLine( "ExclusiveAddressUse value is {0}", t->ExclusiveAddressUse.ToString() );
;
}
static void GetSetExclusiveAddressUse()
{
// Don't allow another process to bind to this port.
t.ExclusiveAddressUse = true;
Console.WriteLine("ExclusiveAddressUse value is {0}",
t.ExclusiveAddressUse);
}
注解
默认情况下,多个客户端可以使用特定端口;但是,只有一个客户端可以对发送到端口的网络流量执行操作。 可以使用 ExclusiveAddressUse
属性来防止多个客户端使用特定端口。
在基础套接字绑定到客户端端口之前,必须设置此属性。 如果调用 Connect、 BeginConnect、 TcpClient(IPEndPoint)或 TcpClient(String, Int32),客户端端口将绑定为 方法的副作用,并且无法随后设置 ExclusiveAddressUse
属性。