服务端
from socket import socket, AF_INET, SOCK_STREAM
from threading import Thread
server = socket(AF_INET, SOCK_STREAM)
server.bind(('10.7.189.54',8080))
server.listen(64)
running = True
clients = []
print('服务器已经启动')
while running:
client, addr = server.accept()
clients.append(client)
print(addr, '已经连接','总人数',len(clients))
print(clients)
def foo(addr, client):
while 1:
try:
info = client.recv(1024)
info_deco = addr[0] + ':' + str(addr[1]) + '说:' + info.decode('utf-8')
for i in clients:
if i != client:
i.send(info_deco.encode('utf-8'))
except Exception as e:
print(e)
clients.remove(client)
break
Thread(target=foo, args=(addr, client)).start()
客户端
from socket import socket
from threading import Thread
client = socket()
client.connect(('10.7.189.54',8080))
running = True
def foo():
while 1:
info = client.recv(1024).decode('utf-8')
print(info)
Thread(target=foo, args=()).start()
while running:
info = input('我说:')
client.send(info.encode('utf-8'))