服务端
import socket
from threading import Thread
client_dict = {}
def brodcast(msg,nikename = ''):
for khd_socket in client_dict.values():
khd_socket.send(bytes(nikename.encode('gbk') + msg + b'\n'))
def chat(khd_socket:socket.socket):
try:
nikename = khd_socket.recv(1024).decode('gbk')
welcome = f'欢迎{nikename}加入聊天室\n'
client_dict[nikename] = khd_socket
brodcast(welcome.encode('gbk'))
while True:
try:
msg = khd_socket.recv(1024)
brodcast(msg,nikename + ':')
except:
khd_socket.close()
del client_dict[nikename]
brodcast(bytes(f'{nikename}离开聊天室\n','gbk'))
except:
print('客户端断开连接')
if __name__ == '__main__':
tcp = socket.socket(socket.AF_I