Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想我的问题相当直截了当。
我想知道在gen_tcp:close/1即将终止的进程所拥有的套接字上使用是否有任何意义。连接自动关闭并返回{tcp_closed, Socket}到另一端的连接进程,就像close调用时一样,所以我猜效果是一样的,close只有在连接必须在终止前一段时间关闭时才需要。
gen_tcp:close/1
{tcp_closed, Socket}
close
这是正确的还是有任何理由为什么我应该尝试close在套接字上使用,即使进程即将终止?
监听套接字或另一端连接的进程不是Erlang进程时有什么区别吗?
没有必要,因为正如您所观察到的,这会在拥有进程退出时自动发生。
无论如何,我通常都会努力做到这一点,以防我以一种没有在同一时间退出进程的方式更改我的代码。例如,打开一个套接字,读取数据,然后进行一次巨大的计算。如果 calc 很大,会使套接字长时间打开。
很确定我曾经真正遇到过这种情况,但如果我总是在有意义的最早时间明确关闭我的套接字,我相信我不会。