You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.6 KiB

import socket
idiomas = {
"ingles": {"hola": "hello", "adios": "bye", "buenos dias": "good morning"},
"frances": {"hola": "bonjour", "adios": "au revoir", "buenos dias": "bonne matinée"},
"italiano": {"hola": "ciao", "adios": "arrivederci", "buenos dias": "buongiorno"},
"portugues": {"hola": "olá", "adios": "adeus", "buenos dias": "bom dia"},
"japones": {"hola": "こんにちは (konnichiwa)", "adios": "さようなら (sayounara)", "buenos dias": "おはようございます (ohayou gozaimasu)"},
"coreano": {"hola": "안녕하세요 (anneonghaseyo)", "adios": "안녕히 가세요 (annyeonghi kaseyo)", "buenos dias": "좋은 아침이에요 (jonun achimieyo)"}
}
def servidor_udp():
servidor = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
direccion_servidor = ('', 2000)
servidor.bind(direccion_servidor)
print('El servidor está a la escucha...')
cliente_conectado = False
while True:
datos, direccion_cliente = servidor.recvfrom(1024)
palabra, idioma = datos.decode('utf-8').split(',')
if not cliente_conectado:
print(f"¡Cliente conectado desde {direccion_cliente}!")
cliente_conectado = True
if idioma in idiomas:
traduccion = idiomas[idioma].get(palabra.lower(), "Error en la respuesta, palabra no encontrada :)")
respuesta = f"{traduccion}"
else:
respuesta = "Error en la respuesta, inserta un idioma válido :)"
servidor.sendto(respuesta.encode('utf-8'), direccion_cliente)
if __name__ == "__main__":
servidor_udp()

Powered by INFORMATICA.FP.EDU.ES.