TcpState Enumeração

Definição

Especifica os estados de uma ligação ao Protocolo de Controlo de Transmissão (TCP).

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

Campos

Name Valor Description
Unknown 0

O estado da ligação TCP é desconhecido.

Closed 1

A ligação TCP está fechada.

Listen 2

O endpoint local da ligação TCP está a ouvir um pedido de ligação de qualquer endpoint remoto.

SynSent 3

O endpoint local da ligação TCP enviou ao endpoint remoto um cabeçalho de segmento com o bit de controlo sync (SYN) definido e está à espera de um pedido de ligação correspondente.

SynReceived 4

O endpoint local da ligação TCP enviou e recebeu um pedido de ligação e está à espera de um reconhecimento.

Established 5

O handshake TCP está completo. A ligação foi estabelecida e os dados podem ser enviados.

FinWait1 6

O endpoint local da ligação TCP está à espera de um pedido de terminação de ligação do endpoint remoto ou de um reconhecimento do pedido de terminação de ligação enviado anteriormente.

FinWait2 7

O endpoint local da ligação TCP está à espera de um pedido de terminação de ligação do endpoint remoto.

CloseWait 8

O ponto final local da ligação TCP está à espera de um pedido de terminação de ligação do utilizador local.

Closing 9

O endpoint local da ligação TCP está à espera de um reconhecimento do pedido de terminação de ligação enviado anteriormente.

LastAck 10

O endpoint local da ligação TCP está à espera do reconhecimento final do pedido de terminação de ligação enviado anteriormente.

TimeWait 11

O endpoint local da ligação TCP está à espera de tempo suficiente para garantir que o endpoint remoto recebeu o reconhecimento do seu pedido de terminação de ligação.

DeleteTcb 12

O buffer de controlo de transmissão (TCB) para a ligação TCP está a ser eliminado.

Exemplos

O exemplo de código seguinte conta as ligações TCP estabelecidas.

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

Observações

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

Aplica-se a