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

我正在build立一个node.js服务器的网站。

我将如何跟踪login的用户(客户端),并将其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); 

每当有人连接/断开连接时,它将打印出来控制连接的用户arrays

您可以使用连接或表示NPM模块(express是连接的扩展)。 Connect(并因此expression)支持基于cookie的会话。 Express是一个非常轻便和stream行的框架。

要永久存储用户,您可以使用“脏”模块。 如果你需要更高级的商店 – 你可以使用MongoDB,Riak甚至普通的旧SQL数据库(postgreSQL和mySQL),但是我build议先从脏或者开始学习现代的方法(即键值存储,内存数据库,横向扩展性,面向文档和其他noSQL数据库)。

如果你使用快递,那么你应该设置一个会话中间件app.use(express.cookieParser())和app.use(express.session({secret:'some secret'})。默认情况下,它存储在内存中,但你能够使用数据库来存储会话,更多的细节请看快递指南 ,是吗?