TcpState Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Specifica gli stati di una connessione TCP (Transmission Control Protocol).
public enum class TcpState
public enum TcpState
type TcpState =
Public Enum TcpState
- Ereditarietà
Campi
Closed | 1 | La connessione TCP è chiusa. |
CloseWait | 8 | L'endpoint locale della connessione TCP è in attesa di una richiesta di terminazione della connessione da parte dell'utente locale. |
Closing | 9 | L'endpoint locale della connessione TCP è in attesa di ricevere conferma per la richiesta di terminazione della connessione precedentemente inviata. |
DeleteTcb | 12 | Il buffer di controllo della trasmissione (TCB, Transmission Control Buffer) per la connessione TCP è in corso di eliminazione. |
Established | 5 | L'handshake di TCP è stato completato. La connessione è stata stabilita ed è possibile inviare dati. |
FinWait1 | 6 | L'endpoint locale della connessione TCP è in attesa di una richiesta di terminazione della connessione da parte dell'endpoint remoto o di una conferma della richiesta di terminazione della connessione precedentemente inviata. |
FinWait2 | 7 | L'endpoint locale della connessione TCP è in attesa di una richiesta di terminazione della connessione da parte dell'endpoint remoto. |
LastAck | 10 | L'endpoint locale della connessione TCP è in attesa di ricevere la conferma finale per la richiesta di terminazione della connessione precedentemente inviata. |
Listen | 2 | L'endpoint locale della connessione TCP è in attesa di una richiesta di connessione da parte dell'endpoint remoto. |
SynReceived | 4 | L'endpoint locale della connessione TCP ha inviato e ricevuto una richiesta di connessione ed è in attesa di una conferma. |
SynSent | 3 | L'endpoint locale della connessione TCP ha inviato all'endpoint remoto l'intestazione di un segmento con il bit di controllo SYN (Synchronize) impostato ed è in attesa di una richiesta di connessione corrispondente. |
TimeWait | 11 | L'endpoint locale della connessione TCP ha atteso per un periodo di tempo abbastanza lungo da assicurare che l'endpoint remoto abbia ricevuto la conferma della richiesta di terminazione della connessione. |
Unknown | 0 | Lo stato della connessione TCP è sconosciuto. |
Esempio
L'esempio di codice seguente conta le connessioni TCP stabilite.
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
Commenti
Questa enumerazione definisce valori validi per la State proprietà . TCP è un protocollo di livello di trasporto responsabile dell'invio e della ricezione di pacchetti di dati in modo affidabile. Gli stati TCP in questa enumerazione sono definiti in IETF RFC 793 disponibili all'indirizzo https://www.ietf.org.