Cách đặt thời gian chờ nhận cho ổ cắm, tôi không thể tìm thấy nó trong bộ phận tùy chọn ổ cắm.
giải pháp đầu tiên của tôi cho vấn đề là đặt sau tuyên bố.Ổ cắm Erlang và nhận thời gian chờ
{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.
nhưng các ổ cắm có thể không bao giờ thời gian chờ vì có những tin nhắn từ các quá trình khác làm thế nào tôi có thể thiết lập thời gian chờ mà không đẻ trứng quá trình khác?