TcpState Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica los estados de una conexión TCP (Protocolo de control de transmisión).
public enum class TcpState
public enum TcpState
type TcpState =
Public Enum TcpState
- Herencia
Campos
Closed | 1 | La conexión TCP está cerrada. |
CloseWait | 8 | El extremo local de la conexión TCP está esperando una solicitud de finalización de conexión del usuario local. |
Closing | 9 | El extremo local de la conexión TCP está esperando una confirmación de la solicitud de finalización de conexión enviada previamente. |
DeleteTcb | 12 | Se está eliminando el búfer del control de transmisión (TCB) para la conexión TCP. |
Established | 5 | El protocolo de enlace TCP ha finalizado. La conexión se ha establecido y se pueden enviar datos. |
FinWait1 | 6 | El extremo local de la conexión TCP está esperando una solicitud de finalización de conexión del extremo remoto, o una confirmación de la solicitud de finalización de conexión enviada previamente. |
FinWait2 | 7 | El extremo local de la conexión TCP está esperando una solicitud de finalización de conexión del extremo remoto. |
LastAck | 10 | El extremo local de la conexión TCP está esperando la confirmación final de la solicitud de finalización de conexión enviada previamente. |
Listen | 2 | El extremo local de la conexión TCP está realizando escuchas para una solicitud de conexión desde cualquier extremo remoto. |
SynReceived | 4 | El extremo local de la conexión TCP ha enviado y recibido una solicitud de conexión, y espera una confirmación. |
SynSent | 3 | El extremo local de la conexión TCP ha enviado un encabezado de segmento al extremo remoto con el bit de control de sincronización (SYN) establecido y está esperando una solicitud de conexión correspondiente. |
TimeWait | 11 | El extremo local de la conexión TCP está esperando el tiempo suficiente para asegurar que el extremo remoto ha recibido la confirmación de su solicitud de finalización de conexión. |
Unknown | 0 | El estado de la conexión TCP es desconocido. |
Ejemplos
En el ejemplo de código siguiente se cuentan las conexiones TCP establecidas.
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 );
}
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);
}
Public Shared Sub CountTcpConnections()
Dim properties As IPGlobalProperties = IPGlobalProperties.GetIPGlobalProperties()
Dim connections As TcpConnectionInformation() = properties.GetActiveTcpConnections()
Dim establishedConnections As Integer = 0
Dim t As TcpConnectionInformation
For Each t In connections
If t.State = TcpState.Established Then
establishedConnections += 1
End If
Console.Write("Local endpoint: {0} ", t.LocalEndPoint.Address)
Console.WriteLine("Remote endpoint: {0} ", t.RemoteEndPoint.Address)
Next t
Console.WriteLine("There are {0} established TCP connections.", establishedConnections)
End Sub
Comentarios
Esta enumeración define valores válidos para la State propiedad . TCP es un protocolo de capa de transporte responsable de enviar y recibir paquetes de datos de forma confiable. Los estados TCP de esta enumeración se definen en IETF RFC 793 disponible en https://www.ietf.org.