TcpState 列舉

定義

指定傳輸控制通訊協定 (TCP) 連線的狀態。

C#
public enum TcpState
繼承
TcpState

欄位

名稱 Description
Closed 1

TCP 連線已關閉。

CloseWait 8

TCP 連線的本機端點正在等候來自本機使用者的連線終止 (Termination) 要求。

Closing 9

TCP 連線的本機端點正在等候先前傳送之連線終止要求的認可。

DeleteTcb 12

正在刪除 TCP 連線的傳輸控制緩衝區 (Transmission Control Buffer,TCB)。

Established 5

TCP 信號交換已完成。 連線已經建立,而且可以傳送資料。

FinWait1 6

TCP 連線的本機端點正在等候來自遠端端點的連線終止要求,或等候先前傳送之連線終止要求的認可。

FinWait2 7

TCP 連線的本機端點正在等候來自遠端端點的連線終止要求。

LastAck 10

TCP 連線的本機端點正在等候先前傳送之連線終止要求的最後認可。

Listen 2

TCP 連線的本機端點正在接聽來自任何遠端端點的連線要求。

SynReceived 4

TCP 連線的本機端點已傳送並收到連線要求,而且正在等候認可。

SynSent 3

TCP 連線的本機端點已將設定了同步 (SYN) 控制位元的區段標頭傳送給遠端端點,而且正在等候相符的連線要求。

TimeWait 11

TCP 連線的本機端點正在等候足夠的傳遞時間,以確保遠端端點能夠收到其連線終止要求的認可。

Unknown 0

未知的 TCP 連線狀態。

範例

下列程式代碼範例會計算已建立的 TCP 連線。

C#
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);
}

備註

這個列舉會定義 屬性的有效值 State 。 TCP 是傳輸層通訊協議,負責可靠地傳送和接收數據封包。 此列舉中的 TCP 狀態定義於 提供的 IETF RFC 793 中 https://www.ietf.org

適用於

產品 版本
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1