Proyecto I SO

Páginas: 7 (1573 palabras) Publicado: 11 de febrero de 2016
Universidad Simón Bolívar
Departamento de Computación y TI
CI-3825 – Sistemas de Operación
Septiembre-diciembre 2015

Proyecto 1: Chat
Introducción
Un programa de chat permite la comunicación entre dos o más personas en
tiempo real por medio de mensajes escritos. En este proyecto, se requiere que
desarrolle un programa de chat entre usuarios de la misma computadora, basado
en una arquitecturacliente/servidor. El cliente será el programa que interactúa
directamente con los usuarios, y el servidor será el encargado de coordinar la
comunicación entre los clientes.
En el sistema que usted debe desarrollar la comunicación será centralizada,
en otras palabras, los clientes no se comunicarán directamente, sino que todos
los mensajes pasarán por el servidor. La comunicación entre los clientes yel
servidor se realizará por medio de pipes nominales.
En la sección que sigue se describe el programa cliente. Más adelante, se
describirán el servidor y los detalles de la comunicación entre los clientes y el
servidor.

Cliente
El cliente es el programa que interactúa directamente con el usuario y le
permite mantener una o varias conversaciones. El área de la pantalla del cliente
estará divididaen dos ventanas. La ventana de conversación, que estará en la
parte superior, mostrará los mensajes enviados y recibidos por el usuario. La
ventana de entrada, que estará en la parte inferior, será el área donde el usuario
escribirá mensajes antes de enviarlos, así como órdenes del programa.
El programa cliente aceptará las siguientes órdenes. Los nombres de órdenes
empiezan por un guión, con elfin de distinguirlos de las palabras de un mensaje.
-quien
-escribir
-estoy
-salir
A continuación se explica cada orden por separado.
quien
Esta orden muestra una lista de los usuarios conectados al servidor y el
estado de cada uno. El estado de un usuario es cualquier cadena de caracteres

1

elegida por el usuario para indicar si está presente o ausente, su estadode ánimo,
etc.
La lista desplegada por la orden quien se mostrará en la ventana de conversación.
escribir
Esta orden toma el nombre de un usuario conectado como argumento e indica
que se quiere conversar con él. Los mensajes enviados después de ejecutar la
orden serán dirigidos a ese usuario.
Si se vuelve a ejecutar la orden escribir con otro nombre de usuario, los
mensajesahora serán dirigidos al nuevo usuario. De este modo, será posible
mantener varias conversaciones con distintos usuarios en la misma pantalla.
estoy
Esta orden cambia el estado del usuario.
Si un cliente está conversando con determinado usuario (es decir, si la última
orden escribir ejecutada en el cliente fue a ese usuario), y este usuario cambia
de estado, se debe mostrar una notificaciónen el cliente con el nuevo estado del
usuario.
salir
Esta opción cierra el programa cliente y le notifica al servidor que el usuario
se desconectó. Se mostrará un mensaje indicando que el usuario se desconectó
en los clientes que estén conversando con él.

Formato de llamada
El programa cliente será llamado de la siguiente manera:
cliente [-p pipe] [usuario]
La opción -p es opcional e indica elnombre del pipe a través del cual el
servidor espera por conexiones nuevas. Si no se especifica, se tomará por defecto
como /tmp/servidor.
El parámetro usuario se refiere al nombre que tendrá el usuario en el chat.
Si no se especifica, será el nombre de usuario del sistema.
Cuando un nuevo usuario se conecte al servidor, deberá aparecer en todos
los clientes conectados una notificación de que elnuevo usuario se conectó.

Interfaz
En la página del taller se publicará el archivo fuente de un prototipo de la
interfaz que deberá tener el cliente. Esta interfaz está basada en la biblioteca
ncurses. En la documentación del archivo se proveen más detalles.
2

Figura 1: Topología de la red

Servidor
El servidor se encarga de dirigir la comunicación entre los clientes. Cuando
un cliente envía un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • proyecto so
  • so do i
  • Proyecto I
  • Proyecto I
  • Proyecto I
  • I Proyecto
  • proyecto I
  • Proyecto i

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS