Ver Mensaje Individual
  #2 (permalink)  
Antiguo 09/12/2013, 21:05
Avatar de sonickseven
sonickseven
 
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: Evitar propagación de datos del ultimo usuario sobre todos los demás.

Ummm hola.. creo que tu codigo es de servidor(eso espero) pues bueno yo lo soluione de una forma algo sencilla: has en cliente un usuario osea algo como un identificador unico en alguna etiqueta y despues escuchas el socket con una funcion más ese identificador seria algo como esto:
Código HTML:
Ver original
  1. <span id="identity" data-id="$variable"></span><!--$variable seria un valor unico de este usuario como un id o un nick-->

Código Javascript:
Ver original
  1. document.addEventListener('DOMContentLoaded', function(){
  2.      var id=se('#identity').dataset.id;//ya se tiene el identofocador unico del usuario
  3.      socket.on('inicializar'+id, function(datos){//este es el secreto
  4.              alert('es solo para este usuario');
  5.      });
  6. }, false);
  7.  
  8. function se(tag){
  9.     return document.querySelector(tag);
  10. }

y en tu servidor node sreia esto
Código Javascript:
Ver original
  1. variable1 = "nombre de usuario extraído correctamente de bd en Mysql, aquí no hay ningún problema, ya lo comprobé"
  2. var id=//extracción de un identificador unico de bd
  3. io.sockets.on('connection', function (socket) {
  4. socket.emit('inicializar'+id, {nombre_usuario: variable1}
  5. }

con eso en tu codigo de node solo le agregas el id unico cargado de bd que tu dices y solo sera emitido a ese usuario en especifico

espero te haya servido esto.