當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang accept(ListenSocket)用法及代碼示例


accept(ListenSocket) -> {ok, Socket} | {error, Reason}
accept(ListenSocket, Timeout) -> {ok, Socket} | {error, Reason}
類型:
ListenSocket = socket()
返回者listen/2.
Timeout = timeout()
Socket = socket()
Reason = closed | timeout | system_limit | inet:posix()

在偵聽套接字上接受傳入的連接請求。Socket必須是從返回的套接字listen/2.Timeout指定 time-out 值(以毫秒為單位)。默認為infinity.

返回:

  • {ok, Socket} 如果建立連接

  • {error, closed} 如果 ListenSocket 關閉

  • {error, timeout} 如果在指定時間內沒有建立連接

  • {error, system_limit} 如果 Erlang 模擬器中的所有可用端口都在使用中

  • 如果出現其他問題,則出現 POSIX 錯誤值,請參閱inet(3)對於可能的錯誤值

數據包可以發送到返回的套接字Socket使用send/2。從對等方發送的數據包作為消息傳遞(除非{active, false}在偵聽套接字的選項列表中指定,在這種情況下,通過調用來檢索數據包recv/2):

{tcp, Socket, Data}
注意

accept 調用不必從套接字所有者進程發出。使用版本 5.5.3 及更高版本的模擬器,可以從不同的進程同時發出多個接受調用,這允許使用一組接受器進程來處理傳入連接。

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 accept(ListenSocket) -> {ok, Socket} | {error, Reason}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。