parent
dbe0cdd8df
commit
f0e3226311
@ -1,2 +1,85 @@
|
|||||||
# DiccionarioMultilingue
|
<h2>Diccionario Multilingüe</h2>
|
||||||
|
<h4>Proyecto final. Programación de Servicios y procesos. </h4>
|
||||||
|
<h4>Natàlia Sepúlveda Ballester</h4>
|
||||||
|
|
||||||
|
*----------------------------------CÓDIGO PARA EL SERVIDOR----------------------------------*
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
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()
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
|
||||||
|
*----------------------CODIGO CLIENTE----------------------------*
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
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()
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
Loading…
Reference in new issue