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


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