Прочитать на английском

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


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

Определение

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

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-подключений.

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);
}

Комментарии

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

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

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1