TcpState Enumerazione

Definizione

Specifica gli stati di una connessione TCP (Transmission Control Protocol).

public enum class TcpState
public enum TcpState
type TcpState = 
Public Enum TcpState
Ereditarietà
TcpState

Campi

Closed 1

La connessione TCP è chiusa.

CloseWait 8

L'endpoint locale della connessione TCP è in attesa di una richiesta di terminazione della connessione da parte dell'utente locale.

Closing 9

L'endpoint locale della connessione TCP è in attesa di ricevere conferma per la richiesta di terminazione della connessione precedentemente inviata.

DeleteTcb 12

Il buffer di controllo della trasmissione (TCB, Transmission Control Buffer) per la connessione TCP è in corso di eliminazione.

Established 5

L'handshake di TCP è stato completato. La connessione è stata stabilita ed è possibile inviare dati.

FinWait1 6

L'endpoint locale della connessione TCP è in attesa di una richiesta di terminazione della connessione da parte dell'endpoint remoto o di una conferma della richiesta di terminazione della connessione precedentemente inviata.

FinWait2 7

L'endpoint locale della connessione TCP è in attesa di una richiesta di terminazione della connessione da parte dell'endpoint remoto.

LastAck 10

L'endpoint locale della connessione TCP è in attesa di ricevere la conferma finale per la richiesta di terminazione della connessione precedentemente inviata.

Listen 2

L'endpoint locale della connessione TCP è in attesa di una richiesta di connessione da parte dell'endpoint remoto.

SynReceived 4

L'endpoint locale della connessione TCP ha inviato e ricevuto una richiesta di connessione ed è in attesa di una conferma.

SynSent 3

L'endpoint locale della connessione TCP ha inviato all'endpoint remoto l'intestazione di un segmento con il bit di controllo SYN (Synchronize) impostato ed è in attesa di una richiesta di connessione corrispondente.

TimeWait 11

L'endpoint locale della connessione TCP ha atteso per un periodo di tempo abbastanza lungo da assicurare che l'endpoint remoto abbia ricevuto la conferma della richiesta di terminazione della connessione.

Unknown 0

Lo stato della connessione TCP è sconosciuto.

Esempio

L'esempio di codice seguente conta le connessioni TCP stabilite.

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

Commenti

Questa enumerazione definisce valori validi per la State proprietà. TCP è un protocollo di livello di trasporto responsabile dell'invio affidabile e della ricezione di pacchetti di dati. Gli stati TCP in questa enumerazione sono definiti in IETF RFC 793 disponibili in https://www.ietf.org.

Si applica a