Javascript 使用node.js监视连接的客户端
我正在用node.js服务器构建一个网站Javascript 使用node.js监视连接的客户端,javascript,node.js,http,monitoring,Javascript,Node.js,Http,Monitoring,我正在用node.js服务器构建一个网站 如何跟踪登录用户(客户端)并将其id存储在node.js服务器上?您可以使用connect或express NPM模块(express是connect的扩展)。Connect(因此express)支持基于cookie的会话。Express是一个非常轻量级和流行的框架 要持久存储用户,可以使用“脏”模块。如果您需要更高级的存储—您可以使用MongoDB、Riak甚至普通的旧SQL数据库(postgreSQL和mySQL),但是我建议从dirty或Riak开
如何跟踪登录用户(客户端)并将其id存储在node.js服务器上?您可以使用connect或express NPM模块(express是connect的扩展)。Connect(因此express)支持基于cookie的会话。Express是一个非常轻量级和流行的框架
要持久存储用户,可以使用“脏”模块。如果您需要更高级的存储—您可以使用MongoDB、Riak甚至普通的旧SQL数据库(postgreSQL和mySQL),但是我建议从dirty或Riak开始学习现代方法(即键值存储、内存数据库、水平可扩展性、面向文档和其他noSQL数据库).如果使用express,则应设置会话中间件app.use(express.cookieParser())和app.use(express.session({secret:'some secret')。默认情况下,它存储在内存中,但您可以使用数据库存储会话。有关详细信息,请参阅。 是吗?试试这个:
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);
每次有人连接/断开连接时,它会打印出来以控制连接的用户阵列。问题是,我想在阵列中为新连接的客户端存储一个随机id,当他们断开连接时,该id将从该阵列中删除。HTTP是无连接协议。因此,您无法跟踪用户何时断开连接。上面的代码用于ess,因为大多数用户会在连接后立即断开连接。有没有办法做到这一点?这就是我所需要的:D谢谢