共用方式為


Socket.Accept 方法

定義

為新建立的連結創造新的 Socket 連結。

public:
 System::Net::Sockets::Socket ^ Accept();
public System.Net.Sockets.Socket Accept();
member this.Accept : unit -> System.Net.Sockets.Socket
Public Function Accept () As Socket

傳回

A Socket 代表新建立的連結。

例外狀況

嘗試存取該套接字時發生錯誤。

該店 Socket 已經關閉。

接受插座沒有監聽連線。 您必須先打電話 Bind(EndPoint) ,然後 Listen(Int32) 再打電話 Accept()

範例

以下範例接受一個簡單的 Socket 連線。

protected void AcceptMethod(Socket listeningSocket)
{
    Socket mySocket = listeningSocket.Accept();
}
   Protected Sub AcceptMethod(listeningSocket As Socket)
       

Dim mySocket As Socket = listeningSocket.Accept()
       
   End Sub

備註

Accept 同步從聆聽套接字的連線請求佇列中擷取第一個待處理的連線請求,然後建立並回傳新的 Socket。 你不能用這個回傳 Socket 來接受連線佇列中的任何額外連線。 不過,你可以呼叫 RemoteEndPoint 回傳 Socket 的方法來辨識遠端主機的網路位址和埠號。

在阻擋模式下, Accept 會阻塞直到有連線嘗試進入隊列。 一旦連線被接受,原始 Socket 裝置會持續排隊等待收到的連線請求,直到你關閉它為止。

如果你用非阻塞 Socket呼叫此方法,且沒有連線請求被排隊, Accept 則拋出一個 SocketException。 如果你收到 SocketException,請使用該 SocketException.ErrorCode 屬性取得特定的錯誤代碼。 取得此程式碼後,請參閱 Windows Sockets 版本 2 API 錯誤代碼 文件,以獲得錯誤的詳細說明。

備註

在呼叫該 Accept 方法之前,您必須先呼叫該 Listen 方法來監聽並排隊接收的連線請求。

備註

當您在應用程式中啟用網路追蹤時,此成員會輸出追蹤資訊。 欲了解更多資訊,請參閱 .NET Framework 中的網路追蹤

適用於

另請參閱