TcpState Enumeration
Specifies the states of a Transmission Control Protocol (TCP) connection.
Namespace: System.Net.NetworkInformation
Assembly: System (in System.dll)
| Member name | Description | |
|---|---|---|
| Closed | The TCP connection is closed. | |
| CloseWait | The local endpoint of the TCP connection is waiting for a connection termination request from the local user. | |
| Closing | The local endpoint of the TCP connection is waiting for an acknowledgement of the connection termination request sent previously. | |
| DeleteTcb | The transmission control buffer (TCB) for the TCP connection is being deleted. | |
| Established | The TCP handshake is complete. The connection has been established and data can be sent. | |
| FinWait1 | The local endpoint of the TCP connection is waiting for a connection termination request from the remote endpoint or for an acknowledgement of the connection termination request sent previously. | |
| FinWait2 | The local endpoint of the TCP connection is waiting for a connection termination request from the remote endpoint. | |
| LastAck | The local endpoint of the TCP connection is waiting for the final acknowledgement of the connection termination request sent previously. | |
| Listen | The local endpoint of the TCP connection is listening for a connection request from any remote endpoint. | |
| SynReceived | The local endpoint of the TCP connection has sent and received a connection request and is waiting for an acknowledgment. | |
| SynSent | The local endpoint of the TCP connection has sent the remote endpoint a segment header with the synchronize (SYN) control bit set and is waiting for a matching connection request. | |
| TimeWait | The local endpoint of the TCP connection is waiting for enough time to pass to ensure that the remote endpoint received the acknowledgement of its connection termination request. | |
| Unknown | The TCP connection state is unknown. |
This enumeration defines valid values for the State property. TCP is a transport layer protocol responsible for reliably sending and receiving data packets. The TCP states in this enumeration are defined in IETF RFC 793 available at http://www.ietf.org.
The following code example counts the established TCP connections.
public static void CountTcpConnections() { IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties(); TcpConnectionInformation[] connections = properties.GetActiveTcpConnections(); int establishedConnections = 0; foreach (TcpConnectionInformation t in connections) { if (t.State == TcpState.Established) { establishedConnections++; } Console.Write("Local endpoint: {0} ",t.LocalEndPoint.Address); Console.WriteLine("Remote endpoint: {0} ",t.RemoteEndPoint.Address); } Console.WriteLine("There are {0} established TCP connections.", establishedConnections); }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.