TcpState Enumeração
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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
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.