我正在使用node.js服务器构建一个网站。
我如何跟踪登录用户(客户端)并将他们的ID存储在node.js服务器上?
答案 0 :(得分:6)
试试这个:
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);
每次有人连接/断开连接时,它都会打印出来以控制连接用户的数组
答案 1 :(得分:0)
您可以使用连接或表达NPM模块(express是连接的扩展)。 Connect(并因此表达)支持基于cookie的会话。 Express是一个非常轻量级和流行的框架。
要持久存储用户,可以使用“脏”模块。如果你需要一个更高级的商店 - 你可以使用MongoDB,Riak甚至普通的旧SQL数据库(postgreSQL和mySQL),但我建议从dirty或riak开始学习现代方法(即键值存储,在 - 内存数据库,水平可伸缩性,面向文档和其他noSQL数据库。)
答案 2 :(得分:0)
如果你使用express,你应该设置会话中间件app.use(express.cookieParser())和app.use(express.session({secret:'some secret'})。默认情况下它存储在内存中但是您可以使用数据库来存储会话。有关详细信息,请查看express guide。 是吗?