Servidor
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
import socket # Creamos un socket UDP sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # Enlazamos el socket al puerto y dirección IP server_address = ('localhost', 5000) sock.bind(server_address) # Escuchamos las peticiones entrantes while True: print('Esperando a recibir un mensaje...') data, address = sock.recvfrom(4096) print('Recibido {} bytes de la dirección {}'.format(len(data), address)) print(data.decode()) # Enviamos una respuesta al cliente message = 'Respuesta desde el servidor' sock.sendto(message.encode(), address) |
El servidor UDP es un programa que espera recibir paquetes de datos enviados por otros programas a través de una red. En este caso, se utiliza el módulo socket
de Python para crear un socket UDP.
Para crear un servidor UDP, primero es necesario importar el módulo socket
de Python. Luego, se crea un objeto socket
para el protocolo de Internet (AF_INET
) y el tipo de socket de datagrama (SOCK_DGRAM
).
Una vez creado el objeto socket
, se enlaza el socket al puerto y dirección IP donde el servidor estará escuchando. En este caso, se utiliza el puerto 5000 y la dirección IP localhost
.
Después de enlazar el socket, se espera a recibir un mensaje entrante en el socket utilizando un bucle while
. Cuando se recibe un mensaje, se imprime la cantidad de bytes recibidos y la dirección IP y puerto del cliente que envió el mensaje.
Finalmente, se envía una respuesta al cliente que envió el mensaje utilizando el método sendto
del objeto socket
. En este caso, se envía un mensaje de respuesta codificado en UTF-8.
Cliente
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import socket # Creamos un socket UDP sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) # Enviamos un mensaje al servidor server_address = ('localhost', 5000) message = 'Mensaje desde el cliente' sock.sendto(message.encode(), server_address) # Esperamos la respuesta del servidor print('Esperando respuesta del servidor...') data, address = sock.recvfrom(4096) print('Recibido {} bytes de la dirección {}'.format(len(data), address)) print(data.decode()) # Cerramos el socket sock.close() |
El cliente UDP es un programa que envía paquetes de datos a un servidor a través de una red. En este caso, se utiliza el módulo socket
de Python para crear un socket UDP.
Para crear un cliente UDP, primero se importa el módulo socket
de Python. Luego, se crea un objeto socket
de tipo datagrama para el protocolo de Internet (AF_INET
) y el tipo de socket de datagrama (SOCK_DGRAM
).
Después de crear el objeto socket
, se define la dirección IP y puerto del servidor al que se va a enviar el mensaje. En este caso, se utiliza la dirección IP localhost
y el puerto 5000.
A continuación, se envía un mensaje al servidor utilizando el método sendto
del objeto socket
. En este caso, se envía un mensaje codificado en UTF-8.
Después de enviar el mensaje, el cliente espera una respuesta del servidor utilizando el método recvfrom
del objeto socket
. Cuando se recibe la respuesta, se imprime la cantidad de bytes recibidos y la dirección IP y puerto del servidor que envió la respuesta.
Finalmente, se cierra el socket del cliente.
