Socket.Accept 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
為新建立的連結創造新的 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 錯誤代碼 文件,以獲得錯誤的詳細說明。
備註
當您在應用程式中啟用網路追蹤時,此成員會輸出追蹤資訊。 欲了解更多資訊,請參閱 .NET Framework 中的網路追蹤。