Compartilhar via


TcpState Enumeração

Definição

Especifica os estados da conexão do protocolo TCP.

public enum class TcpState
public enum TcpState
type TcpState = 
Public Enum TcpState
Herança
TcpState

Campos

Closed 1

A conexão TCP está fechada.

CloseWait 8

O ponto de extremidade local da conexão TCP está esperando uma solicitação de encerramento da conexão do usuário local.

Closing 9

O ponto de extremidade local da conexão TCP está esperando uma confirmação da solicitação de encerramento da conexão enviada anteriormente.

DeleteTcb 12

O TCB (buffer de controle de transmissão) para a conexão TCP está sendo excluído.

Established 5

O handshake TCP é concluído. A conexão foi estabelecida e os dados podem ser enviados.

FinWait1 6

O ponto de extremidade local da conexão TCP está esperando uma solicitação de encerramento da conexão do ponto de extremidade remoto ou uma confirmação de solicitação de encerramento da conexão enviada anteriormente.

FinWait2 7

O ponto de extremidade local da conexão TCP está esperando uma solicitação de encerramento da conexão do ponto de extremidade remoto.

LastAck 10

O ponto de extremidade local da conexão TCP está esperando a confirmação final da solicitação de encerramento da conexão enviada anteriormente.

Listen 2

O ponto de extremidade local da conexão TCP está ouvindo uma solicitação de conexão de qualquer ponto de extremidade remoto.

SynReceived 4

O ponto de extremidade local da conexão TCP enviou e recebeu uma solicitação de conexão e está esperando uma confirmação.

SynSent 3

O ponto de extremidade local da conexão TCP enviou ao ponto de extremidade remoto um cabeçalho de segmento com o conjunto de bits de controle de sincronização (SYN) e está aguardando uma solicitação de conexão correspondente.

TimeWait 11

O ponto de extremidade local da conexão TCP está esperando tempo suficiente para garantir que o ponto de extremidade remoto recebeu a confirmação de sua solicitação de encerramento da conexão.

Unknown 0

O estado da conexão TCP é desconhecido.

Exemplos

O exemplo de código a seguir conta as conexões TCP estabelecidas.

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

Comentários

Essa enumeração define valores válidos para a State propriedade . O TCP é um protocolo de camada de transporte responsável por enviar e receber pacotes de dados de forma confiável. Os estados TCP nessa enumeração são definidos no IETF RFC 793 disponível em https://www.ietf.org.

Aplica-se a