diff --git a/README.md b/README.md index ac1c8f7..77efacb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,87 @@ # Alexa_Cliente_Servidor_UDP +------------ CÓDIGO FUENTE PARA EL SERVIDOR -------------- + +
+ +import socket + +def servidor_udp(): + #configuramos el socket UDP del servidor que es el que va a recibir los mensajes del cliente + servidor = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + direccion_servidor = ('', 2000) + servidor.bind(direccion_servidor) + + print('El servidor está a la escucha...') + + while True: + datos, direccion_cliente = servidor.recvfrom(1024) + + # Convertimos los datos a un número + numero = int(datos.decode('utf-8')) + + #posibles respuestas del servidor para el cliente + if numero == 1: + respuesta = "hola" + elif numero == 2: + respuesta = "hello" + elif numero == 3: + respuesta = "hallo" + elif numero == 4: + respuesta ="ciao" + else: + respuesta = "Error en la respuesta, inserta un número válido :)" + + # Enviamos la respuesta al cliente + servidor.sendto(respuesta.encode('utf-8'), direccion_cliente) + +if __name__ == "__main__": + servidor_udp() + ++ + +------------ CÓDIGO FUENTE PARA EL CLIENTE -------------- + +
+ +import socket + +def cliente_udp(): + #configuramos el socket UDP del cliente que es el que va a enviar los mensajes al servidor + #ponemos la ip del servidor + cliente = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + direccion_servidor = ('192.168.50.105', 2000) # Ajusta esto según la configuración del servidor + + while True: + # Solicitamos al usuario que ingrese un número, se hará en bucle hasta que ingrese el 0 que termina la conexión + entrada_usuario = input("Ingresa un número (1, 2, 3 ó 4), ingresa 0 para salir: ") + + # Verificamos si la entrada es un número + if entrada_usuario.isdigit(): + numero_elegido = int(entrada_usuario) + + # Enviamos el número insertado al servidor + cliente.sendto(str(numero_elegido).encode('utf-8'), direccion_servidor) + + # Salimos del bucle de insertar un número para obtener respusta si el cliente pulsa 0 + if numero_elegido == 0: + break + + # Recibimos la respuesta del servidor + datos, _ = cliente.recvfrom(1024) + respuesta = datos.decode('utf-8') + + print(f"Respuesta del servidor: {respuesta}") + + else: + print("Por favor, ingrese un número válido (1, 2 o 3, 4) o 0 para salir.") + + print("Conexión terminada.") + cliente.close() + +if __name__ == "__main__": + cliente_udp() + + +\ No newline at end of file