2011-08-10 30 views

Respuesta

5

Prueba esto:..?

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); 

se imprime a la consola del conjunto de usuarios conectados cada vez que alguien se conecta/desconecta

+0

Esto es lo que necesitaba: D Gracias – chris

0

Puede usar conectar o expresar módulos NPM (expreso es una extensión de conexión). Connect (y así expresar) tiene soporte para sesiones basadas en cookies. Express es un marco muy ligero y popular.

Para almacenar usuarios persistentemente, puede usar el módulo 'sucio'. Si necesita una tienda más avanzada, puede usar MongoDB, Riak o incluso bases de datos SQL simples (postgreSQL y mySQL). Sin embargo, sugiero comenzar con dirty o riak para aprender el enfoque moderno (es decir, tiendas clave-valor, bases de datos de memoria, escalabilidad horizontal, orientadas a documentos y otras bases de datos no SQL).

+0

El asunto es que quiero almacenar ar andom id para un nuevo cliente conectado en una matriz y cuando se desconectan, esta id se eliminará de esa matriz. – chris

+0

HTTP es protocolo sin conexión. Entonces no puedes rastrear cuando un usuario se desconecta. El código anterior es inútil ya que la mayoría de los usuarios se desconectarán inmediatamente después de la conexión. – nponeccop

+0

¿Hay alguna manera de que esto sea posible? – chris

0

Si usa expreso, entonces debe establecer una aplicación de middleware de sesión.use (express.cookieParser()) y app.use (express.session ({secret: 'some secret'}). De forma predeterminada, almacena en la memoria pero capaz de utilizar la base de datos de sesiones tienda para más detalles, consulte express guide ¿es que

Cuestiones relacionadas