Enviar un mensaje UDP a un ordenador desde Python
Código del servidor (ordenador que escucha):
[crayon-6a61885905d18891855003/]
Código del cliente (ordenador que manda el mensaje):
[crayon-6a61885905d1e297945584/]
Explicación línea por línea del código del servidor y del cliente:
Código del servidor (ordenador que escucha):
- Importar el módulo
socket: Permite crear y manipular sockets de red en Python, que son puntos finales para la comunicación. - Crear el socket UDP: Se instancia un socket configurado para usar IPv4 (
AF_INET) y el protocolo UDP (SOCK_DGRAM), que es un protocolo sin conexión. - Asignar la IP y el puerto al socket: El socket se enlaza a la dirección
127.0.0.1(localhost) y al puerto2020, especificando dónde escuchar los mensajes entrantes. - Imprimir mensaje de espera: Se muestra un mensaje indicando que el servidor está listo y esperando recibir un mensaje.
- Recibir el mensaje: El servidor espera hasta recibir un mensaje, que se almacena junto con la dirección del remitente. La función
recvfrom(1024)permite recibir hasta 1024 bytes. - Mostrar el mensaje recibido: El mensaje recibido se decodifica desde ASCII y se imprime.
- Cerrar el socket: Finalmente, se cierra el socket para liberar los recursos asociados.
Código del cliente (ordenador que manda el mensaje):
- Importar el módulo
socket: Al igual que en el servidor, se utiliza para gestionar la comunicación en red. - Crear el socket UDP: Se crea un socket similar al del servidor, configurado para IPv4 y UDP.
- Preparar el mensaje a enviar: El mensaje
'0'se convierte en bytes usando codificación ASCII, ya que los sockets envían datos en formato binario. - Enviar el mensaje al servidor: El mensaje se envía al servidor especificando la dirección IP
127.0.0.1y el puerto2020. - Cerrar el socket: Se cierra el socket, liberando los recursos una vez enviado el mensaje.