TcpClient.ExclusiveAddressUse Property

Definition

Gets or sets a Boolean value that specifies whether the TcpClient allows only one client to use a port.

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

Property Value

true if the TcpClient allows only one client to use a specific port; otherwise, false. The default is true for Windows Server 2003 and Windows XP Service Pack 2 and later, and false for all other versions.

Exceptions

An error occurred when attempting to access the underlying socket.

The underlying Socket has been closed.

Examples

The following code example creates a TcpClient and gets and sets the value of the ExclusiveAddressUse property.

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);
}

Remarks

By default, multiple clients can use a specific port; however, only one of the clients can perform operations on the network traffic sent to the port. You can use the ExclusiveAddressUse property to prevent multiple clients from using a specific port.

This property must be set before the underlying socket is bound to a client port. If you call Connect, BeginConnect, TcpClient(IPEndPoint), or TcpClient(String, Int32), the client port is bound as a side effect of the method, and you cannot subsequently set the ExclusiveAddressUse property.

Applies to