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


erlang accept(ListenSocket, Timeout :: integer() >= 0)用法及代碼示例


accept(ListenSocket, Timeout :: integer() >= 0) ->
          {ok, Socket} | {error, Reason}
OTP 22.0
類型:
ListenSocket = Socket = socket()
Reason = 
 posix() |
    closed |
 invalid() |
    timeout |
    {create_accept_socket, posix()} |
    {add_socket, posix()} |
    {update_accept_context, posix()}

接受/1但返回{error, timeout}如果之後沒有連接被接受Timeout毫秒。

注意

在 unix 上,請注意,如果進行多次調用,則隻有最後一個調用是"valid":

{select, {select_info, _Handle}} = socket:accept(LSock, nowait),
	    {error, timeout} = socket:accept(LSock, 500),
	    . 
            .
	    .

在上麵的示例中,一旦進行第二次(接受)調用,Handle 就無效(第一次調用自動為 "cancelled",並在進行第二次調用時發送中止消息)。在導致超時的 (accept-) 調用發出後,不再有活動的接受調用!

相關用法


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