Para esta entrada, realice unos códigos en Python en donde por medio de un servidor, abre una ventana en donde tenemos una imagen, y los clientes pueden controlar directamente esa imagen mandando comandos de 4 bytes por medio de sockets UDP.
En ambos códigos utilizo los siguientes comandos de 4 bytes, los empaqueto y los mando del cliente al servidor.
- INIT
- Este comando inicializa al momento de capturar un nuevo cliente en el servidor, se selecciona cuantas personas van a poder cambiar la imagen según cuantos INIT entraron al principio y el valor dado.
- EXIT
- Este comando sale de la aplicación y desconecta el socket.
- GRIS
- Este comando hace que la imagen se ponga en un estado de escala de grises.
- ORIG
- Este comando deshace las acciones anteriores y regresa a la imagen original.
- PROM
- Este comando saca un promedio de los pixeles vecinos, creando un efecto borroso.
- UMXX
- El comando umbral corresponde a un string de 4 bytes en donde:
- UM: indica que se va a realizar un umbral
- XX: son números parseados y anexados al comando dependiendo del valor del umbral escogido por el cliente mediante un slider.
Capturas de pantalla.
Comando PROM genera un efecto de borrado |
Regresa a Original enviando comando ORIG |
Genera un efecto de grises con el comando GRIS |
Al momento de dar clic a umbral abre un slider en donde seleccionas la intensidad del umbral, se agrega al comando en los 4 bytes. |
Diagramas de procedimiento.
Código servidor.
Código cliente.
Esto sería todo para la tarea 2, implementar un protocolo, espero que quede claro y si tienen alguna duda, favor de hacermela saber.
Me hubiera gustado tener definido qué en sí ocurre en situaciones de múltiples clientes. 9 pts.
ResponderEliminar