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.
natalia
f0e3226311
|
9 months ago | |
---|---|---|
README.md | 9 months ago |
README.md
Diccionario Multilingüe
Proyecto final. Programación de Servicios y procesos.
Natàlia Sepúlveda Ballester
----------------------------------CÓDIGO PARA EL SERVIDOR----------------------------------
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()
----------------------CODIGO CLIENTE----------------------------
import socket def cliente_udp(): cliente = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) direccion_servidor = ('localhost', 2000) idioma_elegido = input("Seleccione el idioma (ingles, frances, italiano, portugues, japones o coreano): ") while True: opcion = input("Ingrese 'c' para cambiar de idioma, una palabra o '0' para salir: ") if opcion == '0': break elif opcion == 'c': idioma_elegido = input("Seleccione el nuevo idioma (ingles, frances, italiano, portugues, japones o coreano): ") continue mensaje = f"{opcion},{idioma_elegido}" cliente.sendto(mensaje.encode('utf-8'), direccion_servidor) datos, _ = cliente.recvfrom(1024) respuesta = datos.decode('utf-8') print(f"Respuesta del servidor: {respuesta}") print("Conexión terminada.") cliente.close() if __name__ == "__main__": cliente_udp()