TcpClient.Connected Property


Gets a value indicating whether the underlying Socket for a TcpClient is connected to a remote host.

 property bool Connected { bool get(); };
public bool Connected { get; }
member this.Connected : bool
Public ReadOnly Property Connected As Boolean

Property Value


true if the Client socket was connected to a remote resource as of the most recent operation; otherwise, false.


The following code example connects to a remote endpoint and then verifies the connection.

static void GetConnected( TcpClient^ t )
   // Find out whether the socket is connected to the remote 
   // host.
   Console::WriteLine( "Connected value is {0}", t->Connected.ToString() );
static void GetConnected()
    // Find out whether the socket is connected to the remote
    // host.
    Console.WriteLine("Connected value is {0}", t.Connected);


The Connected property gets the connection state of the Client socket as of the last I/O operation. When it returns false, the Client socket was either never connected, or is no longer connected.

Because the Connected property only reflects the state of the connection as of the most recent operation, you should attempt to send or receive a message to determine the current state. After the message send fails, this property no longer returns true. Note that this behavior is by design. You cannot reliably test the state of the connection because, in the time between the test and a send/receive, the connection could have been lost. Your code should assume the socket is connected, and gracefully handle failed transmissions.

Applies to