Chatting Application With Multi Threading Enabled
2 min readMar 24, 2021
In this article we will see how we can create a chat application with multi threading enabled. We will be using python as language to create the chat application.
server.py
import socketimport threadingimport time# IPV4
address_family = socket.AF_INET# UDP
protocol = socket.SOCK_DGRAM# socketip = '127.0.0.1'
port = 5000server_socket = socket.socket(address_family, protocol)# bindserver_socket.bind((ip, port))# send and receive functiondef send_msg(address):
data = input("Server: ").encode()
if len(data) < 0:
return
server_socket.sendto(data, address)def receive_msg():
while True:
message, address = server_socket.recvfrom(1024)
message = message.decode()
print(f"{address[0]} : {message}")
data = input("Server: ").encode()
if len(data) < 0:
return
server_socket.sendto(data, address)# send and recv messagethreading.Thread(target=receive_msg).start()
# time.sleep(20)
# threading.Thread(target=send_msg,args=(address,)).start()
This will be server program. Any client can chat with server.
client.py
import socketimport threadingimport time# IPV4
address_family = socket.AF_INET# UDP
protocol = socket.SOCK_DGRAM# socketserver_ip = '127.0.0.1'
server_port = 5000client_socket = socket.socket(address_family, protocol)server_address = (server_ip,server_port)# send and receive functiondef send_msg():
while True:
data = input("Me: ").encode()
if len(data) < 0:
return
client_socket.sendto(data, server_address)
time.sleep(5)def receive_msg():
time.sleep(10)
while True:
message, address = client_socket.recvfrom(1024)
message = message.decode()
print(f"Server : {message}")# send and recv messagethreading.Thread(target=send_msg).start()threading.Thread(target=receive_msg).start()
Output
server
client 1
client 2
overall
I haven’t explained much in this program as there wasn’t much to show. You can find the code on github link below.