4 may. 2011

Implementación de sistemas distribuidos

Taller de Programación Orientada a Objetos 
Semana 12 

Implementación de por lo menos un prototipo pequeño para lograr la operación distribuida por lo menos parcial del sistema bajo desarrollo.

Para esta semana donde tratamos sistemas distribuidos decidí hacer un programa que aplicará a mi proyecto tal y como lo mencione en la entrada anterior. Este trata de el envío de un archivo desde el servidor hasta el cliente cuando este hace solicitud de el.

En mi programa solo tengo tres clases, que son las siguientes:

Servidor: El servidor se encarga de abrir el socket necesario para la comunicación con el cliente, que en este caso se espera a que solicite un archivo que se encuentra almacenado. Para este ejemplo coloque el nombre de un archivo que yo cree con el nombre de Enviado.txt.

Cliente: Este entra en comunicación con el servidor mediante el socket abierto y la dirección IP del servidor, para este ejemplo deje que solo funcionara en localhost, ya que solo lo probé desde un terminal a otro de una misma computadora.

TomaArchivo: Este archivo tiene en un string la ruta del archivo que se enviará, y otras variables necesarias para el envío de los datos en paquetes separados. Aquí es donde se implementa la serialización.

Para lograr la funcionalidad trabaje con el código visto en el taller y junto con la explicación que encontré en el siguiente blog.

Les muestro la parte del código que corresponde a la parte del socket y lo necesario para la transferencia de datos.



En seguida esta una captura de los archivos antes de ser compilados y ejecutados.


El archivo Enviado.txt contiene lo siguiente.


Una vez compilados los archivos, así se ve la ejecución simultanea del cliente y el servidor.




Ya por último la muestra de como quedaron los archivos, y ver como los datos recibidos desde el servidor se guardan en un archivo creado con el nombre de Recibido.txt.


Aunque podría ser muy útil, hasta el momento no lo pienso integrar realmente a mi proyecto, ya que me falta entrarle más con el aspecto de la toma de datos y la forma de graficar.

1 comentario: