如何設置套接字的接收超時,我無法在套接字選項man中找到它。
我的第一個解決問題的辦法是在聲明後放。Erlang套接字和接收超時
{ok, Listen} = gen_tcp:listen(Port, [..,{active, once}...]),
{ok, Socket} = gen_tcp:accept(Listen),
loop(Socket).
loop(Socket) ->
receive
{tcp, Socket, Data} ->
inet:setopts(Sock, [{active, once}]),
loop(Socket);
{tcp_closed, Socket} -> closed;
Other -> process_data(Other)
after 1000 -> time_out
end.
但插座可能永遠不會超時,因爲有其他進程 消息我怎麼能不設置其他產卵過程超時?