【问题标题】:Is it necessary to close a gen_tcp connection on process termination?是否有必要在进程终止时关闭 gen_tcp 连接?
【发布时间】:2014-06-18 04:59:52
【问题描述】:

我想我的问题相当直截了当。

我想知道在即将终止的进程所拥有的套接字上使用gen_tcp:close/1 是否有任何意义。连接自动关闭,它会将{tcp_closed, Socket}返回给另一端的连接进程,就像调用close时一样,所以我猜效果是一样的,只有在连接时才需要close必须在终止前一段时间关闭。

这是正确的,还是有什么理由我应该尝试在套接字上使用close,即使进程即将终止?

监听socket或者对方连接的进程不是Erlang进程有什么区别吗?

【问题讨论】:

    标签: sockets erlang gen-tcp


    【解决方案1】:

    没有必要,因为正如您所观察到的,这会在拥有进程退出时自动发生。

    无论如何,我通常都会努力这样做,以防我在以后更改我的代码时不会让进程在同一时间退出。例如,打开一个套接字,读取数据,然后进行一次巨大的计算。如果计算量很大,会使套接字长时间保持打开状态。

    很确定我曾经遇到过这种情况,但如果我总是在有意义的最早时间明确地关闭我的套接字,我相信我不会。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      • 2020-03-16
      • 1970-01-01
      相关资源
      最近更新 更多