Ver Mensaje Individual
  #4 (permalink)  
Antiguo 03/05/2006, 06:30
Avatar de chuidiang
chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 20 años, 3 meses
Puntos: 454
Hola:
Eso depende de cómo tengas organizado tu código. Lo normal sería que el servidor guardara todos los sockets de todo el mundo y pudiera identificar cada uno de ellos, por ejemplo, con su nombre de usuario.

La clase que maneje el socket "pepe" debería tener alguna forma de decirle al servidor "envia este mensaje a juan" y el servidor se encargaría de ello.

Otra forma, quizás un poco más chapucera, pero más sencilla, es hacer un Hashtable en el que guardes los sockets, usando como clave el nombre de usuario.

hash.put ("pepe", socketdepepe);
hash.put ("juan", socketdejuan);

Esta hash puede ser un atributo estático de cualquier clase (por ejemplo, la del main, o la que actualmente tengas que guarde todos los sockets).

Al ser estatico, el socket de pepe puede hacer esto

socket = ClaseQueGuardaLosSockets.hash.get("juan");

y así obtienes el socket de juan, le envías el mensaje y listo.

En fin, posibilidades hay muchas, es cuestión de buscar la que te resulte más cómoda.

Se bueno.
__________________
Apuntes Java
Wiki de Programación