【发布时间】:2016-08-12 01:56:40
【问题描述】:
我使用 web 套接字,当服务器关闭时,onclose 方法不会触发。
我尝试使用progress.exit 手动关闭 ws 连接,但似乎这只会在干净退出时触发。
他们是捕获停止的 nodejs 应用程序并在停止之前执行代码的方法吗?
它应该在ctr+c 和任何其他崩溃/退出时触发。
基本上我想在连接不存在时告诉客户在他尝试做某事之前,因为onclose 不会处理所有情况,我可以做些什么来检查连接?
我想出的唯一解决方案是不时 ping 服务器。
【问题讨论】:
-
有一个“清理限制”是正常的,虽然并不总是想要的。否则服务器可能会陷入无休止的清理循环。因此,您应该期望服务器的
onclose方法并不总是被调用。至于进程退出清理,请考虑使用process.on('exit', function() {});,如here 所述。