TcpState Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает состояния подключения протокола управления передачей (TCP).
public enum class TcpState
public enum TcpState
type TcpState =
Public Enum TcpState
- Наследование
Поля
| Имя | Значение | Описание |
|---|---|---|
| Unknown | 0 | Состояние TCP-подключения неизвестно. |
| Closed | 1 | Tcp-подключение закрыто. |
| Listen | 2 | Локальная конечная точка TCP-подключения прослушивает запрос подключения из любой удаленной конечной точки. |
| SynSent | 3 | Локальная конечная точка TCP-подключения отправила удаленную конечную точку заголовок сегмента с набором битов элемента управления синхронизации (SYN) и ожидает соответствующего запроса на подключение. |
| SynReceived | 4 | Локальная конечная точка TCP-подключения отправила и получила запрос на подключение и ожидает подтверждения. |
| Established | 5 | Подтверждение TCP завершено. Подключение установлено, и данные можно отправлять. |
| FinWait1 | 6 | Локальная конечная точка TCP-подключения ожидает запроса на завершение подключения из удаленной конечной точки или подтверждения запроса на завершение подключения, отправленного ранее. |
| FinWait2 | 7 | Локальная конечная точка TCP-подключения ожидает запроса на завершение подключения из удаленной конечной точки. |
| CloseWait | 8 | Локальная конечная точка TCP-подключения ожидает запроса на завершение подключения от локального пользователя. |
| Closing | 9 | Локальная конечная точка TCP-подключения ожидает подтверждения запроса завершения подключения, отправленного ранее. |
| LastAck | 10 | Локальная конечная точка TCP-подключения ожидает окончательного подтверждения запроса завершения подключения, отправленного ранее. |
| TimeWait | 11 | Локальная конечная точка TCP-подключения ожидает достаточно времени, чтобы убедиться, что удаленная конечная точка получила подтверждение запроса на завершение подключения. |
| DeleteTcb | 12 | Буфер управления передачей (TCB) для tcp-подключения удаляется. |
Примеры
В следующем примере кода учитывается установленные 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);
}
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.