![](/img/trans.png)
[英]How can I trigger events to fire on connected clients using node.js, sockets.io and redis?
[英]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.