繁体   English   中英

使用 node.js 监控连接的客户端

[英]monitor connected clients using node.js

我正在使用 node.js 服务器建立一个网站。

我将如何跟踪登录用户(客户端)并将他们的 ID 存储在 node.js 服务器上?

尝试这个:

var http=require('http');

var connected_users={};

var server=http.createServer(function(req,res){
    res.end('hi');
});

server.on('connection',function(socket){
    socket.__fd=socket.fd;
    connected_users[socket.__fd]=socket.remoteAddress;
    console.log(connected_users);
    socket.on('close',function(){
        delete connected_users[socket.__fd];
        console.log(connected_users);
    }); 
});
server.listen(8080);

每次有人连接/断开连接时,它都会打印出来以控制连接的用户数组

您可以使用 connect 或 express NPM 模块(express 是 connect 的扩展)。 Connect(因此 express)支持基于 cookie 的会话。 Express 是一个非常轻量级和流行的框架。

要永久存储用户,您可以使用“脏”模块。 如果您需要更高级的存储 - 您可以使用 MongoDB、Riak 甚至普通的旧 SQL 数据库(postgreSQL 和 mySQL),但是我建议从脏或 riak 开始学习现代方法(即,键值存储,in-内存数据库、水平可扩展性、面向文档等 noSQL 数据库)。

如果你使用 express 那么你应该设置一个 session 中间件 app.use(express.cookieParser()) 和 app.use(express.session({secret:'some secret'})。默认情况下它存储在 memory 但你可以使用数据库存储会话。有关详细信息,请参阅快速指南。是吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM