import socket import time def main(): # 创建一个tcp服务器端 tcp_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 复用 tcp_server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # 绑定 tcp_server.bind(("", 8976)) # 被 动 tcp_server.listen(128) #设置非堵塞 tcp_server.setblocking(False) #客户端列表 clients = list() while True: time.sleep(1) try: client, addr = tcp_server.accept() print(client) client.setblocking(False) #有客户端就放入 clients.append(client) except Exception as e: print("-------没有客户端------") #列表循环 for client_new in clients: try: data = client_new.recv(1024).decode() if data: #有数据 print(data) else: #关闭客户端 client_new.close() #关闭客户端 clients.remove(client_new) #循环删除 except Exception as e: print("------没有数据-----") tcp_server.close() if __name__ == '__main__': main()