• Publicidad

Crear un "messenger"

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Crear un "messenger"

Notapor Dimaggio » 2007-04-09 13:14 @593

Buenas, necesito hacer una especie de MSN pero no sé por dónde empezar porque no se me ocurre cómo se puede hacer.
Solo sé que necesito multihilo y en el servidor se tiene que guardar la conversación.
Entonces yo creo que debe seguir los siguientes pasos:

1. Un cliente se conecta al servidor y le dice una frase además de a la persona que se lo quiere decir.

2. El servidor crea una conexión con el destinatario y se lo manda además de guardarlo en la base de datos.

El problema es que no sé cómo hacer el segundo paso, el de decirle al servidor que se lo tiene que mandar a un cliente y crear la conexión desde el servidor. ¿No debería ser un servidor-cliente y el cliente tener también parte de servidor?

Buffff, estoy muy perdido ¿se nota, no?

Bueno a ver si alguien me puede echar una mano.

Gracias ante todo.

Un saludo
Dimaggio
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2007-03-29 17:34 @773

Publicidad

Notapor Perl user » 2007-04-09 14:12 @633

Que tal,

Es un problema trivial con una solución trivial, pero únicamente si tienes los fundamentos básicos sobre programación para redes. Si realmente tienes dicho conocimiento y lo que te faltan son detalles de implementación, pon aquí lo que llevas hecho y tus dudas en concreto y se te brinda ayuda, sino, entonces si necesitas leer sobre dicho tema, en el lenguaje que mas te agrade, los conceptos son los mismos.

Lecturas recomendadas:

Generales (en C):
Beej's guide to networking
Unix Network Programming (definitivamente lo mas completo que he visto)

en Perl:
Network Programming with Perl
Perl Cookbook (para ver ejemplos)
y en estos momentos no se me ocurre alguna otra lectura.


Estarás tentado (y varios harán la recomendación de...) a usar módulos para ciertos protocolos en CPAN. Claro que son soluciones muy buenas a problemas tan cotidianos como esos, sin embargo, si estas falto de conocimientos esenciales, realmente no podrás aprender cómo lo hace y tendrás problemas en su momento para poder depurar problemas sobre dicho tópico. Así que mejor, comienza con lo básico, con los conceptos fundamentales y con la idea detrás de todo esto.

Saludos,
Marco A. Manzo
[email protected]
http://www.unixmonkeys.com/amnesiac/
Perl Programming Language
Perl user
Maestro honorario
Maestro honorario
 
Mensajes: 271
Registrado: 2004-11-03 21:11 @924

Notapor Dimaggio » 2007-04-09 15:02 @668

La verdad es que tampoco tengo hecho mucho solamente la conexión con el servidor pero ni le mando el nombre del destinatario ni lo guardo en la base de datos ni nada, lo de la base de datos lo se hacer, así que prefiero primero hacer una conexión entre dos clientes y luego ya le digo lo demás.
Dimaggio
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2007-03-29 17:34 @773

Notapor explorer » 2007-04-09 18:56 @830

Yo creo que la simplificación del problema es: unos clientes se conectan al servidor, indicando el canal al que se quieren conectar. A partir de ahí, cuando el servidor reciba datos de entrada lo redirigirá al canal (el canal puede tener uno o más clientes asociados), que es enviar los datos a cada cliente de ese canal. Si el canal es un cliente, entonces es una comunicación uno a uno. Si el canal es genérico, entonces es una sala de chat.

Creo que deberías detallar más los pasos que intervienen en el proceso, pero creo que lo básico es que los clientes se conecten primero al servidor, para que este sepa quienes son los usuarios conectados. Luego ya vendrán los temas de gestión entre ellos.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14486
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Dimaggio » 2007-04-10 02:31 @147

Solo va a ser una conversación cliente cliente. No van a existir canales.

Los pasos son:

1. El cliente se conecta al servidor y en éste se guarda el nombre del cliente con la ip en una base de datos, así cuando entre un cliente verá los otros usuarios conectados.

2. El cliente decide con quien hablar y le manda al servidor el texto y el usuario con el que va a hablar para que el servidor se lo mande al destinatario y además se lo guarde la conversación en una base de datos.

Pero lo que yo no sé es cómo hacer que el servidor reconozca al usuario que se lo tiene que mandar y cómo hacerlo.
Dimaggio
Perlero nuevo
Perlero nuevo
 
Mensajes: 4
Registrado: 2007-03-29 17:34 @773


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado