lunes, 11 de febrero de 2013

Protocolo

Para comenzar quiero mostrar el programa funcionando, y así poder explicar más fácilmente el funcionamiento de mi protocolo.
Es un editor de dibujo que consta de un servidor y múltiples clientes que pueden editar todos al mismo
tiempo.



Se utilizo Python como lenguaje de programación, las librerías ServerSocket y sus módulos UDPServer para poder tener sockets UDP.
Para empaquetar y desempaquetar los datos de uso la librería struct.

La idea del protocolo es establecer la forma en que se comunican tanto el cliente como el servidor de manera que ambos se puedan entender, entonces se estableció que cada paquete que se manda debe constar de 5 bytes en donde cada byte especifica una característica diferente de el dibujo realizado.
Entonces la idea es la siguiente:
  • El primer byte especifica las coordenadas X y Y de inicio del dibujo.
  • El segundo byte dice que es la figura, si es un circulo, linea o cuadrado.
  • El tercer byte indica las coordenadas X y Y de fin del dibujo.
  • El cuarto es el color de la línea.
  • Y el quinto es el grosor de la línea.
El programa puede trabajar con múltiples usuarios y el servidor puede también mandar dibujos, mandando también los dibujos de cada cliente a los demás.
Inicia por determinado con la selección de una línea de color negro y de grosor 1.
El siguiente diagrama muestra un ejemplo de funcionamiento básico:



Los códigos son los siguientes:
Servidor:


Cliente:


Captura de pantalla:


Liga al git.

1 comentario: