Path: blob/main/Business/Desktop/Chat/server.py
2941 views
import socket1import threading23HOST = "0.0.0.0"4PORT = 6553556server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)7server.bind((HOST, PORT))89server.listen()1011clients = []12nicknames = []1314def broadcast(message):15for client in clients:16client.send(message)171819def handle(client):20while True:21try:22message = client.recv(1024)23print(f"{nicknames[client.index(client)]} says {message}")24broadcast(message)25except:26index = client.index(client)27clients.remove(client)28client.close()29nickname = nicknames[index]30nicknames.remove(nickname)31break3233def receive():34while True:35client, address = server.accept()36print(f"Connent with {str(address)}!")3738client.send("NICK".encode('utf-8'))39nickname = client.recv(1024)4041nickname.append(nickname)42clients.append(client)4344print(f"Nickname of the client is {nickname}")45broadcast(f"{nickname} connented to th server!\n".encode('utf-8'))46client.send("Connented to the server".endode('utf-8'))4748thread = threading.Thread(target=handle, args=(client,))49thread.start()50print("Server running...")51receive()525354