Tarea 2: charla

  Alumno: Gabriel Astudillo Muñoz
Rol: 9321051-4

La idea de esta aplicación es implementar una pequeña parte de una aplicación tipo "chat", utilizando para ello los conceptos sobre comunicación con sockets y la utilización de la API de C para ese fin.
 

Descripción de la aplicación.


La aplicación consta de dos partes bien definidas. Una de ellas es el Servidor, el cual se encarga de atender a los clientes que se conectan y de efectuar el envio de mensajes entre ellos.

El cliente, por otra parte, es el que interactúa directamente con el usuario. Su función es permitir el ingreso de datos por parte del usuario, enviarlos al servidor y mostrar los mensajes que envie este último.

Diagramas de alto nivel para esta aplicación.
 
 


diagrama1


Explicación:


diagrama2






Como se puede observar, el cliente consta de tres procesos, denominados P1, P2, P3.

¿Por qué se utilizó esta solución? Al parecer, P3 está sobrando, ya que P2 perfectamente podría desplegar los datos a pantalla. El problema es que los datos se deben mostrar en otra ventana, y ahí entra el proceso P3. Además, como P3 es una xterm, la comunicación con P2 no puede realizarse por pipes, ya que no hay un relación padre-hijo, por lo que se comunican por medio de fifos.

Notas para la compilación:

Para compilar,  es necesario estar en el directorio raiz de la tarea y ejecutar make. Esto creara un direcctio bin/ , dentro
del cual estarán los binarios de la tarea charla_srv para el servidor y charla para el cliente. Además existe un tercer
ejecutable, que lo utiliza internamente el cliente.

Todos los programas fueron hechos y compilados bajo Linux 2.2.5-15.
Detalles de las erramientos utilizadas para esta tarea:
 


Gabriel Astudillo Muñoz
9321051-4