TcpState Перечисление
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Указывает состояния подключения TCP.
public enum class TcpState
public enum TcpState
type TcpState =
Public Enum 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.