node.js - 如何使用socket.io和NodeJS关闭所有套接字

标签 node.js sockets socket.io

我在某处看到了这段代码,它可以关闭所有现有的打开套接字

if (io && io.sockets && io.sockets.sockets) {
    io.sockets.sockets.forEach(function(s) {
        s.disconnect(true);
    });     
}

当进程处于 sigtermsigint 上时,我调用此方法

但不知何故,在按 ctrl+c 并运行代码后,后台仍然有一个现有的 Node 进程在运行 ps -A | grep Node 我有这个输出

3605 pts/0 00:00:00 node

如何关闭此套接字而不需要终止它?

如果您需要更多信息,请告诉我,我很乐意编辑我的问题,谢谢!

编辑: 我意识到套接字有时可以断开连接,但是当我的代码发生更改时, Node (特别是nodemon)会在特定套接字(最近断开连接)处重新连接,并将应​​用我所做的更改。所以问题是如何防止套接字在断开连接后重新连接?我需要在上面的代码中添加什么来实现该目标?

最佳答案

当您运行此命令时:

ps -A | grep node

如果你看到一个进程,那么这就是你的 grep 进程。当您调用 grep 时,它会创建 grep 进程,在输出中显示所有匹配的进程(也是 grep 进程),并在最后关闭 grep 进程。

关于node.js - 如何使用socket.io和NodeJS关闭所有套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33151299/

相关文章:

Python3套接字客户端发送和接收十六进制字符串

java - java中的socket通信

javascript - Mongodb 返回填充对象但保存清空一些字段

node.js - 如何解决 AWS Lambda 中的 Runtime.HandlerNotFound 错误

php - 如果unread_bytes == 0,则取消阻塞fread(),而不会使流连接超时

node.js - 如何从 v0.9.x 迁移到 Socket.io v1.x

node.js - socket.io-client 无法获得授权失败原因

javascript - 如何使用socket.io和node.js将数据写入JSON文件?

Javascript 猴子修补 rethinkdb .run

node.js - 用于生产的 Kibana 4 配置