Socket.Accept 方法

定義

建立新建立連接的新 Socket

C#
public System.Net.Sockets.Socket Accept();

傳回

新建立連接的新 Socket

例外狀況

嘗試存取通訊端時發生錯誤。

接受的通訊端並未接聽連線。 您必須在呼叫 Bind(EndPoint) 之前呼叫 Listen(Int32)Accept()

範例

下列程式代碼範例接受簡單的 Socket 連線。

C#
protected void AcceptMethod(Socket listeningSocket)
{
    Socket mySocket = listeningSocket.Accept();
}

備註

Accept 從接聽套接字的連接要求佇列同步擷取第一個擱置的連接要求,然後建立並傳回新的 Socket。 您無法使用傳 Socket 回的這個 來接受來自連線佇列的任何其他連線。 不過,您可以呼叫 RemoteEndPoint 所傳 Socket 回 的方法,以識別遠端主機的網路位址和埠號碼。

在封鎖模式中, Accept 封鎖直到連入連線嘗試排入佇列為止。 一旦接受連線,原始 Socket 會繼續將連入連線要求排入佇列,直到您關閉為止。

如果您使用非封鎖 Socket呼叫這個方法,而且沒有將連線要求排入佇列, Accept 則會 SocketException擲回 。 如果您收到 SocketException,請使用 SocketException.ErrorCode 屬性來取得特定的錯誤碼。 取得此程式代碼之後,請參閱 Windows Sockets 第 2 版 API 錯誤碼 檔,以取得錯誤的詳細描述。

備註

呼叫 Accept 方法之前,您必須先呼叫 Listen 方法來接聽並排入連入連線要求。

備註

在應用程式中啟用網路追蹤時,這個成員會輸出追蹤資訊。 如需詳細資訊,請參閱 .NET Framework 中的網路追蹤

適用於

產品 版本
.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, 10
.NET Framework 1.1, 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 1.3, 1.4, 1.6, 2.0, 2.1

另請參閱