lunes, 11 de febrero de 2013

Implementación del Protocolo UDP



Implementación de un Protocolo

Buenas compañeros y demás gente que nos visitan en esta ocasión nos toco implementar el protocolo UDP.

El protocolo UDP es muy diferente al TCP ya que este no es orientado a la conexión si no a puros mensajes.

Lo que se pensó en esta actividad es crear un pequeño juego donde el usuario selecciona si quiere atacar o defender y se vera reflejado en la vida del otro usuario.

Para realizar usar el protocolo UDP se utilizo la librería de socket en python

Para iniciar la comunicación el servidor espera un dato de una longitud mayor a uno, para poder establecer la comunicación y registrar al primer usuario.

Se tiene una variable que cuenta cuantos usuarios están conectados, en caso de ser el primer usuario el servidor manda un mensaje para esperar a un segundo usuario.

Mientras se conecta un segundo usuario, el cliente se queda en espera, hasta que recibe un mensaje de una longuitud de21 para activiar la interfaz del juego en ambos jugadores.






Cuando el segundo usuario se conecta en el servidor pasa al método juego() mandando por el servidor  a ambos jugadores el mensaje de 21 de largo anteriormente mencionado para iniciar el juego.



Cuando inicia el juego ambas interfaces están activadas, cuando esto pasa el servidor espera dos acciones uno de cada cliente, mientras falte uno de los mensajes el servidor se quedara en fase de espera, hasta que lleguen los dos mensajes, cuando lleguen, el servidor enviara dos mensajes a los respectivos clientes con el resultado de sus respectiva acciones, hasta que un jugador pierda.


Las respectivas acciones es:

  • ataque con un valor para reducir la vida del oponente
  • defensa para aumentar la vida del usuario



Al reducir la vida a cero se cierra automaticamente el cliente



Aquí el código del cliente
Aquí el código del servidor

1 comentario:

  1. Quedó medio simplecillo y me hubiera gustado tener una explicación tabular o visual de los mensajes a mandar y la secuencia de interacción, pero está bien para 9 pts.

    ResponderEliminar