当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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}。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。