[英]How do I find out how many connected clients there are to a HTTP Server in Node.js?
假設我正在運行一個應用程序,它使用 Express 和 Socket.io 偵聽 Node http.Server
的同一個實例。
每秒我都想將連接的客戶端總數(HTTP 或 WS)記錄到控制台以進行監控。
setInterval(logConnectedClientInfo, 1000);
如何實現logConnectedClientInfo()
方法?
我知道我可以通過exec
lsof
來做到這一點,但我很感興趣,如果有辦法在Node 中做到這一點?
我找到了答案。 net
模塊在名為server.getConnections()
的服務器上有一個方法。 甲http.Server
從節點(0.10.30)繼承net.Server
。 請參閱節點核心中的lib/_http_server.js
:
util.inherits(Server, net.Server);
所以我的方法看起來像:
function logConnectedClientInfo() {
server.getConnections(function(err, count){
if(err) throw err;
console.log(count);
});
}
這行得通嗎?
server.on('connection', function (socket) {
activeConnections++;
socket.on('end', function() {
activeConnections--;
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.