这是服务器
import socket
import threading as th
def accept_client():
while True:
# ACCEPTING
cli_sock, cli_add = ser_sock.accept()
uname = cli_sock.recv(1024)
CONN_LIST.append((uname, cli_sock))
print('%s is now connected' %uname)
def broadcast_usr():
while True:
for i in range(len(CONN_LIST)):
try:
data = CONN_LIST[i][1].recv(1024)
if data:
b_usr(CONN_LIST[i][1], CONN_LIST[i][0], data)
except Exception as x:
print(x.message)
break
def b_usr(cs_sock, sen_name, msg):
for i in range(len(CONNECTION_LIST)):
if (CONN_LIST[i][1] != cs_sock):
CONN_LIST[i][1].send(sen_name)
CONN_LIST[i][1].send(msg)
if __name__ == "__main__":
CONN_LIST = []
# SOCKET
ser_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# BINDING
host = '192.168.x.x' #LOCAL HOST
port = 4444
ser_sock.bind((host, port))
# LISTENING
ser_sock.listen(1)
print('Chat server started on port : ' + str(port))
thread_ac = th.Thread(target = accept_client)
thread_ac.start()
thread_bs = th.Thread(target = broadcast_usr)
thread_bs.start()