• Domingo 17 de Noviembre de 2024, 18:36

Autor Tema:  implementar Chat rooms en JAVA  (Leído 2169 veces)

elbrujo86

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
implementar Chat rooms en JAVA
« en: Lunes 24 de Noviembre de 2008, 21:55 »
0
Hola, que tal

Estoy desarrollando un chat (sin interfaz gráfica) en java, y bueno los usuarios ya se identifican, se pueden listar los conectados, etc. Pero me gustaría poder definir un número concreto de canales (Chat rooms) y poder acceder a ellas. Sé que se debería poner en el thread que genera el servidor cuando se conecta un cliente, quizás definiendo los canales como un vector i luego comparar el texto del usuario con en nombre del canal para entrar, pero no se como enfocarlo ni que utilizar bien bien. Grácias de antemano.

Saludos!!

posman

  • Miembro MUY activo
  • ***
  • Mensajes: 119
    • Ver Perfil
Re: implementar Chat rooms en JAVA
« Respuesta #1 en: Lunes 24 de Noviembre de 2008, 22:37 »
0
No entendi muy bien tu duda, pero segun yo lo que quieres es tener una lista definida de canales y poder hacer que los usuarios escriban en cualquiera de los chats.

Has visto el protocolo IRC? Tal vez dandole una revisada puedas darte una mejor idea. El IRC esta documentado en el RFC1459. No es dificil de implementar. Alguna vez lo hice utilizando VB
« última modificación: Lunes 24 de Noviembre de 2008, 22:52 por posman »

elbrujo86

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: implementar Chat rooms en JAVA
« Respuesta #2 en: Lunes 24 de Noviembre de 2008, 22:47 »
0
Así es, tener una lista definida de canales y poder hacer que el usuario entre y se comunique con los demas de ese canal. Ya le habia echado un ojo al RFC pero no me soluciona mucho, porque sí, la idea seria esa, o aun más simple, poniendo por ejemplo simplemente el nombre del canal y ya entrar (sin el join), pero el problema es que no se como lo podria escribir en java.

Saludos

silverfox

  • Miembro MUY activo
  • ***
  • Mensajes: 280
    • Ver Perfil
Re: implementar Chat rooms en JAVA
« Respuesta #3 en: Jueves 27 de Noviembre de 2008, 10:48 »
0
Hola.

Si lo que necesitas es utilizar varios canales para un chat, nada más sencillo:

Utiliza una Hashtable para almacenar los canales. De esta forma, cuando alguien seleccione un canal, miras si ya existe una key igual a ese nombre. Si no existe, la creas.

Dentro de una Hashtable puede haber cualquier tipo de objetos, en tu caso, almacena las conexiones (ya sea un socket o una clase propia) dentro. Otra opción es que hagas una clase Chat en general y que en ella guardes todo lo referente a cada chat. Entonces, cuando alguien cree un canal, creas tu clase en un thread aparte y la guardas dentro de la Hashtable. Esto hace bastante simple que construyas muchos chats a partir de uno que ya tengas, pero complica un poco la lógica de entrada a cada chat.

Espero haberte servido de ayuda.

Un saludo.



Silverfox