TcpState Enumeration
Specifies the states of a Transmission Control Protocol (TCP) connection.
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.
void CountTcpConnections() { IPGlobalProperties ^ properties = IPGlobalProperties::GetIPGlobalProperties(); array<TcpConnectionInformation^>^connections = properties->GetActiveTcpConnections(); int establishedConnections = 0; System::Collections::IEnumerator^ myEnum1 = connections->GetEnumerator(); while ( myEnum1->MoveNext() ) { TcpConnectionInformation ^ t = safe_cast<TcpConnectionInformation ^>(myEnum1->Current); 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 ); }
Available since 2.0