parent
d40476623e
commit
0d69049940
@ -1,2 +1,87 @@
|
||||
# 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