node.js - 如何找出 Node.js 中的 HTTP 服务器有多少个已连接的客户端?

标签 node.js http

假设我正在运行一个应用程序,它使用 Express 和 Socket.io 来监听同一 Node 实例 http.Server .

我想每秒将已连接客户端(HTTP 或 WS)的总数记录到控制台以进行监控。

setInterval(logConnectedClientInfo, 1000);

如何实现方法logConnectedClientInfo()


我知道我可以通过 execing 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/

相关文章:

javascript - 等到页面加载 Protractor

node.js - 引用错误: process is not defined, Node ,Heroku

特定于 session 的中间件的 Node.js 单元测试

iphone - 更改用户代理

java - 如何在 Grizzly 嵌入式 Jersey 应用程序上获取 HTTP 请求方法?

java - Java 中 HttpGet/Post 的包装类?

javascript - NodeJS/jQuery - 投票通知 API

javascript - React Leaflet : Get objects from MongoDB to Leaflet map as markers (using node. js 和 express)

http - 如何有效解决 'Max Out'并发HTTP请求?

java - 如何在 Android 中使用 HTTP GET?