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}。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。