TcpState Énumération
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie les états d'une connexion TCP (Transmission Control Protocol).
public enum class TcpState
public enum TcpState
type TcpState =
Public Enum TcpState
- Héritage
Champs
Closed | 1 | La connexion TCP est fermée. |
CloseWait | 8 | Le point de terminaison local de la connexion TCP attend une demande de suspension de connexion de la part de l'utilisateur local. |
Closing | 9 | Le point de terminaison local de la connexion TCP attend un accusé de réception de la demande de suspension de connexion envoyée précédemment. |
DeleteTcb | 12 | La mémoire tampon de contrôle de transmission pour la connexion TCP est supprimée. |
Established | 5 | Le protocole de transfert TCP est terminé. La connexion a été établie et les données peuvent être envoyées. |
FinWait1 | 6 | Le point de terminaison local de la connexion TCP attend une demande de suspension de connexion du point de terminaison distant ou un accusé de réception de la demande de suspension de connexion envoyée précédemment. |
FinWait2 | 7 | Le point de terminaison local de la connexion TCP attend une demande de suspension de connexion de la part du point de terminaison distant. |
LastAck | 10 | Le point de terminaison local de la connexion TCP attend l'accusé de réception final de la demande de suspension de connexion envoyée précédemment. |
Listen | 2 | Le point de terminaison local de la connexion TCP est à l'écoute d'une demande de connexion d'un point de terminaison distant quelconque. |
SynReceived | 4 | Le point de terminaison local de la connexion TCP a envoyé et reçu une demande de connexion et attend un accusé de réception. |
SynSent | 3 | Le point de terminaison local de la connexion TCP a envoyé un en-tête de segment au point de terminaison distant avec le bit de contrôle SYN (synchronisation) défini et attend une demande de connexion correspondante. |
TimeWait | 11 | Le point de terminaison local de la connexion TCP attend qu'une durée suffisante soit écoulée pour s'assurer que le point de terminaison distant a reçu l'accusé de réception de sa demande de suspension de connexion. |
Unknown | 0 | La connexion est dans un état inconnu. |
Exemples
L’exemple de code suivant compte les connexions TCP établies.
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
Remarques
Cette énumération définit des valeurs valides pour la State propriété . TCP est un protocole de couche de transport chargé d’envoyer et de recevoir de manière fiable des paquets de données. Les états TCP de cette énumération sont définis dans IETF RFC 793 disponible à l’adresse https://www.ietf.org.