Práctica
1: Un simple Chat
En primera práctica
se implementa el código cliente/servidor para la
simulación
de un entorno de conversación al estilo talk. Para ello,
cada usuario dispondrá de una ventana cliente y otra servidor
para
llevar a cabo las labores de conversación. A continuación
de describen los pasos para desarrollar este ejercicio.
Paso
1
En una ventana se lanza el
proceso servidor. En ella aparecerán los mensajes que recibe de
otros clientes que les envía mensajes.
Paso
2
En otra ventana el usuario
lanza un cliente para enviar mensajes a otro usuario (gestionado por un
servidor activo remoto).
Paso
3
Atendiendo a estas condiciones,
supongamos que un usuario registrado como Rosa desea hablar con los
usuarios
registrados como Luis, Juana y Pepa. Para ello el usuario Rosa debe
abrir
una ventana cliente para enviar mensajes a Luis, otra ventana para
enviar
mensajes a Juana y otra para Pepa. Bajo este contexto, Rosa
tendrá
cuatro ventanas, tres clientes y un servidor (donde recibe los
mensajes).
Paso
4
El código básico
se almacena en los archivos: cliente.c
y servidor.c
(cabecera)
Paso
5
Se creará un archivo
C intermedio para declarar funciones adicionales: auxiliar.c
Paso
6
Para lanzar un servidor,
simplemente se hace con la orden: servidor
Paso
7
Para lanzar un cliente: cliente
usuariodestino alias
Paso
8
Probar por ejemplo: cliente
Marta Rosa. En este caso Rosa crea
un cliente para hablar con Juana.
Paso
9
El código cliente
tiene un acceso a un que facilita
las características del usuario al cual deseamos conectarnos.
Esto
se hace mediante una llamada a la función:
servidorDNS(char
*mensaje, char *IP, char *PUERTO)
Paso
10
El código cliente.c
y servidor.c puedan tener acceso a funciones definidas en auxiliar.c
Paso
11
El servidor de nombres estará
ubicado en una de las máquinas del laboratorio.
Necesitará
conocer la dirección IP y puerto del servidor (en su momento se
lo dirá el profesor).
Paso
12
Muestre en todo momento mensajes
de salida para conseguir una mejor secuencia del control del
código
en ejecución.
Paso
13
La compilación (crea
el objeto) se realiza con la orden: gcc
-c archivo.c
Paso
14
Para crear el ejecutable: gcc
archivo.o -o archivo ejecutable
LSID, Laboratorio
de Sistemas de Información Distribuidos
Departamento
de Informática
Universidad
de Almeria, España
Luis.Iribarne@ual.es