Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/03/2013, 00:05
Avatar de dontexplain
dontexplain
 
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 12 años, 5 meses
Puntos: 127
Respuesta: chat privado con nodejs

Tienes que usar sesiones, que no son más que identificadores que distinguen conversaciones de otras.

Por ejemplo, suponiendo que un usuario se conecta: El usuario proporcionó un id de sesión c2398hvi8m234234 (mediante un formulario o por la URL o lo que fuera)

Código Javascript:
Ver original
  1. socket.join("c2398hvi8m234234");
  2.  
  3. function propagateEvent(sessid,eventname,data)
  4. {
  5. io.sockets.in(sessid).emit(eventname, data);
  6. }

El uso de rooms permite aglutinar sockets y enviar mensajes y eventos exclusivamente a los sockets de ese room.

propagateEvent("c2398hvi8m234234","evento",datos) enviaría el evento a los usuarios del room c2398hvi8m234234.

1. Mediante join introduces el socket actual en una room.
2. Mediante in-emit envías un evento a todos los sockets de la room.
__________________
21añero.
HTML/CSS, PHP, JS/jQuery, Mysql; NodeJS/Socket.io (& V8); C++ ; Python (wxpy); Ensamblador.
Músico (clarinetista/pianista) y compositor

Última edición por dontexplain; 28/03/2013 a las 00:16