parent
d40476623e
commit
0d69049940
@ -1,2 +1,87 @@
|
|||||||
# Alexa_Cliente_Servidor_UDP
|
# Alexa_Cliente_Servidor_UDP
|
||||||
|
|
||||||
|
------------ CÓDIGO FUENTE PARA EL SERVIDOR --------------
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
------------ CÓDIGO FUENTE PARA EL CLIENTE --------------
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
|
||||||
|
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()
|
||||||
|
|
||||||
|
|
||||||
|
</pre>
|
Loading…
Reference in new issue