【问题标题】:erlang who close the tcp socket关闭tcp套接字的erlang
【发布时间】:2015-09-04 00:22:04
【问题描述】:

http://erlangcentral.org/wiki/index.php/Building_a_Non-blocking_TCP_server_using_OTP_principles描述了如何搭建一个非阻塞的tcp服务器,还有一个关于inet_async消息的问题。

handle_info({inet_async, ListSock, Ref, Error}, #state{listener=ListSock, acceptor=Ref} = State) ->
    error_logger:error_msg("Error in socket acceptor: ~p.\n", [Error]),
    {stop, Error, State};

如果Error = {error, close},谁关闭socket、客户端或服务器?

【问题讨论】:

    标签: sockets tcp erlang erlang-otp


    【解决方案1】:

    这取决于,如果您收到该错误,则可能一开始就没有打开套接字。因此,如果您尝试gen_tcp:send(Socket, "Message"),您会发现连接已关闭。

    连接关闭的其他原因可能是侦听套接字在等待连接时超时,或者在尝试发送消息之前调用了gen_tcp:close(Socket)

    您还需要确保连接到服务器最初打开侦听套接字的端口。因此,要回答您的问题,可以关闭连接。

    【讨论】:

      猜你喜欢
      • 2015-12-07
      • 2023-04-07
      • 2011-01-26
      • 2018-06-24
      • 2012-02-10
      • 2011-08-08
      • 2015-10-16
      • 2013-04-29
      • 2011-08-07
      相关资源
      最近更新 更多