TcpState Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die Zustände einer TCP (Transmission Control Protocol)-Verbindung an.
public enum class TcpState
public enum TcpState
type TcpState =
Public Enum TcpState
- Vererbung
Felder
Closed | 1 | Die TCP-Verbindung ist geschlossen. |
CloseWait | 8 | Der lokale Endpunkt der TCP-Verbindung wartet auf eine Anforderung zum Beenden der Verbindung vom lokalen Benutzer. |
Closing | 9 | Der lokale Endpunkt der TCP-Verbindung wartet auf eine Bestätigung der zuvor gesendeten Anforderung zum Beenden der Verbindung. |
DeleteTcb | 12 | Der TCB (Transmission Control Buffer) für die TCP-Verbindung wird gelöscht. |
Established | 5 | Der TCP-Handshake wurde abgeschlossen. Die Verbindung wurde hergestellt, und Daten können gesendet werden. |
FinWait1 | 6 | Der lokale Endpunkt der TCP-Verbindung wartet auf eine Anforderung zum Beenden der Verbindung vom Remoteendpunkt oder auf eine Bestätigung der zuvor gesendeten Anforderung zum Beenden der Verbindung. |
FinWait2 | 7 | Der lokale Endpunkt der TCP-Verbindung wartet auf eine Anforderung zum Beenden der Verbindung vom Remoteendpunkt. |
LastAck | 10 | Der lokale Endpunkt der TCP-Verbindung wartet auf die endgültige Bestätigung der zuvor gesendeten Anforderung zum Beenden der Verbindung. |
Listen | 2 | Der lokale Endpunkt der TCP-Verbindung überwacht eine Verbindungsanforderung von einem beliebigen Remoteendpunkt. |
SynReceived | 4 | Der lokale Endpunkt der TCP-Verbindung hat eine Verbindungsanforderung gesendet und empfangen und wartet auf eine Bestätigung. |
SynSent | 3 | Der lokale Endpunkt der TCP-Verbindung hat an den Remoteendpunkt einen Segmentheader mit festgelegtem SYN-Steuerbit (Synchronisierungssteuerbit) gesendet und wartet auf eine entsprechende Verbindungsanforderung. |
TimeWait | 11 | Der lokale Endpunkt der TCP-Verbindung wartet für eine ausreichende Zeitspanne, um sicherzustellen, dass der Remoteendpunkt die Bestätigung seiner Anforderung zum Beenden der Verbindung empfangen hat. |
Unknown | 0 | Der Zustand der TCP-Verbindung ist unbekannt. |
Beispiele
Im folgenden Codebeispiel werden die eingerichteten TCP-Verbindungen zählungen.
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
Hinweise
Diese Enumeration definiert gültige Werte für die State Eigenschaft. TCP ist ein Transportschichtprotokoll, das für das zuverlässige Senden und Empfangen von Datenpaketen zuständig ist. Die TCP-Zustände in dieser Enumeration sind in IETF RFC 793 definiert, die unter https://www.ietf.orgverfügbar sind.