I was trying to make a simple chat application using the socket module in Python. In my client.py
file I created two functions, one for writing and one for receiving messages from the server. As it must be run simultaneously, I used the threading module. But it's not working and I don't have a clue why. Here's my code:
import socket
import threading
SERVER = socket.gethostbyname(socket.gethostname())
PORT = 5050
HEADER = 1024
FORMAT = "utf-8"
socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.connect((SERVER, PORT))
def write():
while True:
message = input()
socket.send(message.encode(FORMAT))
threading.Thread(write())
def receive():
while True:
try:
msg = socket.recv(HEADER).decode(FORMAT)
print(msg)
except:
print('You have been disconnected!')
socket.close()
break
write_thread = threading.Thread(target=write())
recv_thread = threading.Thread(target=receive())
recv_thread.start()
write_thread.start()