import socket # 1. determina o endereço IP e a porta do servidor com o qual deseja se comunicar HOST = '127.0.0.1' # localhost PORT = 3421 print(f"Tentando conectar ao servidor em {HOST}:{PORT}...") try: # 2. abra um socket para comunicação with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: # 3. estabeleça a conexão s.connect((HOST, PORT)) print("[LOG] Conectado ao servidor!") # 4. comunique-se de acordo com o protocolo msg = "Start Server" print(f"Enviando: '{msg}'\n") s.sendall(msg.encode('utf-8')) try: while True: # espera pela resposta do servidor data = s.recv(1024) if not data: print("[LOG] Servidor encerrou a conexão (normalmente).") break # imprime a resposta print(f"Servidor respondeu:\n\n{data.decode('utf-8')}\n") # envia nova mensagem if "[EVENT]" in data.decode('utf-8'): msg = input("Digite uma mensagem para o servidor:") s.sendall(msg.encode('utf-8')) except (ConnectionResetError, BrokenPipeError): print("\n[ERRO] A conexão com o servidor foi perdida inesperadamente.") # 5. encerre a conexão/feche o socket print("[LOG] Conexão encerrada.") except ConnectionRefusedError: print(f"[Erro] Não foi possível conectar ao servidor.") print("Verifique se o servidor está online ou se seu endereço está correto.") except Exception as e: print(f"Ocorreu um erro: {e}")