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