From 8c03fa4f2f267c27be02dc5d21626501c7c56949 Mon Sep 17 00:00:00 2001 From: Nathan Date: Fri, 19 Jan 2024 18:33:52 +0100 Subject: [PATCH] practica servidor --- ServerClient.py | 14 ++++++++++++++ ServerHost.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100644 ServerClient.py create mode 100644 ServerHost.py diff --git a/ServerClient.py b/ServerClient.py new file mode 100644 index 0000000..0f1cc54 --- /dev/null +++ b/ServerClient.py @@ -0,0 +1,14 @@ +import socket +HOST = '192.168.50.118' +PORT = 2000 +with socket.socket(socket.AF_INET, socket.SOCK_DGRAM) as s: + s_addr = (HOST, PORT) + server_address = (s_addr) + message = b'Saludos desde el cliente' + # enviar + print('Enviando {!r}'.format(message)) + sent = s.sendto(message, server_address) + # recibir + print('Esperando por la respuesta') + data, server = s.recvfrom(1024) #lĂ­nea bloqueante + print('recibidos {!r}'.format(data)) \ No newline at end of file diff --git a/ServerHost.py b/ServerHost.py new file mode 100644 index 0000000..b51bb99 --- /dev/null +++ b/ServerHost.py @@ -0,0 +1,50 @@ +import socket +import threading + +def handle_client(client_socket): + + request = "" + response = "test" + while True: + data = client_socket.recv(1).decode('UTF-8') + if data == '1': + response = "1. Hello" + print('1') + break + elif data == '2': + response = "2. Hola" + print('2') + break + elif data == '3': + response = "3. Bonjour" + print('3') + break + elif data == '\n': + response = request.upper() + break + request += data + + print(request.upper()) + + client_socket.send(response.encode('UTF-8')) + + client_socket.close() + +def start_server(): + host = '' + port = 3333 + + server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + server_socket.bind((host, port)) + server_socket.listen(5) + print(f"Server listening on {host}:{port}") + + while True: + client_socket, addr = server_socket.accept() + print(f"Accepted connection from {addr[0]}:{addr[1]}") + + client_handler = threading.Thread(target=handle_client, args=(client_socket,)) + client_handler.start() + +if __name__ == "__main__": + start_server() \ No newline at end of file