Base Datos
Enviado por edwarv24 • 14 de Enero de 2015 • 1.241 Palabras (5 Páginas) • 415 Visitas
de Fundamentos de Sistemas Distribuidos
Chat en Java - 1
Tipo de entrega: por grupos de prácticas
Fecha límite: sesiones de laboratorio
Lugar: Atenea (nou campus)
Objetivos del proyecto:
• Crear y utilizar objetos
• Crear y utilizar variables y métodos de clases
• Utilizar try, catch y finally para detectar y manejar excepciones
• Implementar clientes y servidores en Java que se comuniquen entre sí utilizando
sockets
• Implementar un servidor con subprocesamiento múltiple
Resultados a entregar:
• Los resultados esperados de esta práctica es la carpeta del Workspace del Eclipse
que contiene los códigos de las aplicaciones. Coloca los códigos de cada sesión en un
package llamado Chat_X
Descripción de la aplicación
En este proyecto vamos a desarrollar una aplicación distribuida con arquitectura
cliente/servidor. La aplicación distribuida es un Chat que permite a los clientes darse de alta y
de baja en el Chat, enviar mensajes a todos los clientes en línea y pedir la lista de clientes en
línea.
El código del cliente se programará en la clase ClienteChat (ClienteChat.java) y el
código del servidor en las clases ServidorChat (ServidorChat.java) y Cliente
(Cliente.java)
Estudio Previo
1. Estudio de los apartados (“Sockets, Clients, and Servers”, y “Programming
Examples”) de la sección 10.4 (“Networking”) del libro “Introduction to Programming
Using Java Version 4.0, July 2002” de David J. Eck (en el apartado comentarios
tienes cómo acceder on-line al contenido del libro)
2. Compila, ejecuta y analiza detenidamente el ejemplo DateServer.java y
DateClient.java. Esta aplicación utiliza un objeto de la clase PrintWriter para escribir
datos en un socket y un objeto de la clase Reader para leer datos de un socket.
Nota:
Para compilar DateServer.java y DateClient.java necesitas la clase TextIO.class que
es una clase que no pertenece al SDK.
Coloca el código fuente de TextIO.java en el mismo package que el código
DateServer.java y DateClient.java para que puedas usar la clase TextIO.
La clase TextIO sólo se usa como clase de soporte (no es necesario que la entiendas
para realizar la práctica)
3. Prueba a NO arrancar el servidor de la aplicación DateServer.java y DateClient.java y
arranca el cliente. Analiza la secuencia de sentencias que se ejecutan cuando
ejecutas el cliente (tráelo a la sesión de laboratorio en papel)
4. Compila, ejecuta y analiza detenidamente el ejemplo CLChatClient.java y
CLChatServer.java. Esta aplicación utiliza un objeto de la clase PrintWriter para
2
escribir datos en un socket y un objeto de la clase TextReader para leer datos de un
socket.
Nota:
Para compilar estos ejemplos sucede lo mismo que en los ejemplos del apartado
anterior (aquí necesitas la clase TextReader.class)
Coloca el código fuente de TextReader.java en el mismo package que el código de
CLChatClient.java y CLChatServer.java para que puedas compilar los ejemplos.
En el apartado comentarios tienes donde hay una explicación de esta clase y de sus
métodos.
5. Prueba a arrancar el servidor de la aplicación CLChatClient.java y CLChatServer.java
y NO arranques el cliente de la aplicación. Analiza la secuencia de sentencias que se
ejecutan en el servidor (tráelo a la sesión de laboratorio en papel)
6. Analiza el protocolo que utiliza el servidor de nuestro chat formado por las clases
ServidorChat.java y Cliente.java. Si programamos el cliente en una clase
ClienteChat.java, ¿Qué deberá enviar ClienteChat por el socket para registrarse?
(tráelo a la sesión de laboratorio en papel)
Comentarios
Introduction to Programming Using Java Version 4.0, July 2002
El libro “Introduction to Programming Using Java Version 4.0, July 2002” de David J. Eck
(eck@hws.edu) está accessible on-line desde http://www.faqs.org/docs/javap/index.html
El código fuente de las aplicaciones lo puedes bajar de
http://www.faqs.org/docs/javap/source/index.html
También puedes bajarte el manual y los ejemplos en un archivo comprimido para “Windows”,
“Linux/UNIX and MacOS X” y “Linux/UNIX” ( apartado “Downloading Links” ) o sólo el manual
en un archivo pdf.
Clase TextReader
Se describe la clase y cómo usarla en la sección 10.1 (“Streams, Readers, and Writers”) del
manual Introduction to Programming Using Java Version 4.0, July 2002.
Cómo debugar en el Eclipse
Tienes un ejemplo gráfico de cómo hacerlo en la ayuda del Eclipse (abre el Help del Eclipse y
busca
...