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 accept(ListenSocket, Timeout :: integer() >= 0)用法及代码示例
- erlang accept(ListenSocket, Timeout :: nowait)用法及代码示例
- erlang acos用法及代码示例
- erlang asin用法及代码示例
- erlang atan用法及代码示例
- erlang abs用法及代码示例
- erlang all用法及代码示例
- erlang any用法及代码示例
- erlang append用法及代码示例
- erlang atom_to_list用法及代码示例
- erlang atom_to_binary用法及代码示例
- erlang absname(Filename)用法及代码示例
- erlang abs(Float)用法及代码示例
- erlang adler32(OldAdler, Data)用法及代码示例
- erlang adler32_combine(FirstAdler, SecondAdler, SecondSize)用法及代码示例
- erlang alias()用法及代码示例
- erlang append_element(Tuple1, Term)用法及代码示例
- erlang apply(Module, Function, Args)用法及代码示例
- erlang atom_to_binary(Atom, Encoding)用法及代码示例
- erlang atom_to_list(Atom)用法及代码示例
- erlang allocations(Options)用法及代码示例
- erlang all(Pred, Q :: queue(Item))用法及代码示例
- erlang any(Pred, Q :: queue(Item))用法及代码示例
- erlang atomic_load(Modules)用法及代码示例
- erlang append(Key, Value, Orddict1)用法及代码示例
注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 accept(ListenSocket) -> {ok, Socket} | {error, Reason}。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。