Поделиться через


TcpState Перечисление

Определение

Указывает состояния подключения TCP.

public enum class TcpState
public enum TcpState
type TcpState = 
Public Enum TcpState
Наследование
TcpState

Поля

Closed 1

Подключение TCP закрыто.

CloseWait 8

Локальная конечная точка подключения TCP ожидает от локального пользователя запрос на разрыв подключения.

Closing 9

Локальная конечная точка подключения TCP ожидает подтверждение ранее отправленного запроса на разрыв подключения.

DeleteTcb 12

Удаляется буфер управления передачей (TCB) для подключения TCP.

Established 5

Выполнено TCP-подтверждение. Подключение установлено, данные могут быть отправлены.

FinWait1 6

Локальная конечная точка подключения ТСР ожидает от удаленной конечной точки запрос на разрыв подключения или подтверждение ранее отправленного запроса на разрыв подключения.

FinWait2 7

Локальная конечная точка подключения TCP ожидает от удаленной конечной точки запрос на разрыв подключения.

LastAck 10

Локальная конечная точка подключения TCP ожидает окончательное подтверждение ранее отправленного запроса на разрыв подключения.

Listen 2

Локальная конечная точка подключения TCP прослушивает запросы на подключение от любой удаленной точки.

SynReceived 4

Локальная конечная точка подключения TCP отправила и получила запрос на подключение, и ожидает подтверждения.

SynSent 3

Локальная конечная точка подключения ТСР отправила удаленной конечной точке заголовок сегмента с установленным управляющим битом синхронизации (SYN) и ожидает соответствующий запрос на подключение.

TimeWait 11

Локальная конечная точка подключения ТСР ожидает в течение достаточного времени, чтобы обеспечить получение удаленной точкой подтверждения ее запроса на разрыв подключения.

Unknown 0

Неизвестное состояние подключения ТСР.

Примеры

В следующем примере кода подсчитывается количество установленных 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

Комментарии

Это перечисление определяет допустимые State значения для свойства . TCP — это протокол транспортного уровня, отвечающий за надежную отправку и получение пакетов данных. Состояния TCP в этом перечислении определены в IETF RFC 793, доступном по адресу https://www.ietf.org.

Применяется к