import socket import threading # function for messages from server def receive_server(s): while True: # the try block makes it not error when it dissconnects try: message = s.recv(1024).decode() if not message: print("\nServer closed the connection") break print(f"\nServer: {message}") except: print("\nDisconnected from server.") break #create socket client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #connect to server client_socket.connect(("localhost", 12345)) print("Connected to server.") print("Type 'quit' to exit.") # starts the recieving thread receive_thread = threading.Thread(target=receive_server, args=(client_socket,)) receive_thread.start() # loop for sending the messages while True: msg = input() if msg.lower() == 'quit': break client_socket.send(msg.encode()) #close connection client_socket.close()