假设我正在运行一个应用程序,它使用 Express 和 Socket.io 来监听同一 Node 实例 http.Server
.
我想每秒将已连接客户端(HTTP 或 WS)的总数记录到控制台以进行监控。
setInterval(logConnectedClientInfo, 1000);
如何实现方法logConnectedClientInfo()
?
我知道我可以通过 exec
ing lsof
来做到这一点,但我感兴趣是否有办法在 Node 中做到这一点?
最佳答案
我找到了答案。 net
模块在服务器上有一个名为 server.getConnections()
的方法。 。 Node (0.10.30) 中的 http.Server
继承自 net.Server
。请参阅 Node 核心中的lib/_http_server.js
:
util.inherits(Server, net.Server);
所以我的方法如下:
function logConnectedClientInfo() {
server.getConnections(function(err, count){
if(err) throw err;
console.log(count);
});
}
关于node.js - 如何找出 Node.js 中的 HTTP 服务器有多少个已连接的客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25229261/