Udostępnij za pośrednictwem


TcpState Wyliczenie

Definicja

Określa stany połączenia tcp (Transmission Control Protocol).

public enum class TcpState
public enum TcpState
type TcpState = 
Public Enum TcpState
Dziedziczenie
TcpState

Pola

Closed 1

Połączenie TCP jest zamknięte.

CloseWait 8

Lokalny punkt końcowy połączenia TCP oczekuje na żądanie zakończenia połączenia od użytkownika lokalnego.

Closing 9

Lokalny punkt końcowy połączenia TCP oczekuje na potwierdzenie wysłanego wcześniej żądania zakończenia połączenia.

DeleteTcb 12

Bufor sterowania transmisji (TCB) dla połączenia TCP jest usuwany.

Established 5

Uzgadnianie TCP zostało ukończone. Połączenie zostało nawiązane i można wysyłać dane.

FinWait1 6

Lokalny punkt końcowy połączenia TCP oczekuje na żądanie zakończenia połączenia zdalnego punktu końcowego lub potwierdzenie wysłanego wcześniej żądania zakończenia połączenia.

FinWait2 7

Lokalny punkt końcowy połączenia TCP oczekuje na żądanie zakończenia połączenia z zdalnego punktu końcowego.

LastAck 10

Lokalny punkt końcowy połączenia TCP oczekuje na ostateczne potwierdzenie wysłanego wcześniej żądania zakończenia połączenia.

Listen 2

Lokalny punkt końcowy połączenia TCP nasłuchuje żądania połączenia z dowolnego zdalnego punktu końcowego.

SynReceived 4

Lokalny punkt końcowy połączenia TCP wysłał i odebrał żądanie połączenia i oczekuje na potwierdzenie.

SynSent 3

Lokalny punkt końcowy połączenia TCP wysłał do zdalnego punktu końcowego nagłówek segmentu z ustawionym bitem sterowania synchronizacji (SYN) i oczekuje na zgodne żądanie połączenia.

TimeWait 11

Lokalny punkt końcowy połączenia TCP czeka na wystarczająco dużo czasu, aby upewnić się, że zdalny punkt końcowy odebrał potwierdzenie żądania zakończenia połączenia.

Unknown 0

Stan połączenia TCP jest nieznany.

Przykłady

Poniższy przykład kodu zlicza ustanowione połączenia TCP.

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

Uwagi

To wyliczenie definiuje prawidłowe wartości właściwości State . TCP to protokół warstwy transportu odpowiedzialny za niezawodne wysyłanie i odbieranie pakietów danych. Stany TCP w tym wyliczenie są zdefiniowane w dokumencie IETF RFC 793 dostępnym pod adresem https://www.ietf.org.

Dotyczy