import socket class TcpServer: def __init__(self, host="0.0.0.0", port=65444) -> None: self.host = host self.port = port self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.sock.bind((self.host, self.port)) self.sock.listen(1) # 允许最多一个连接(可改大) print(f"Listening on {self.host}:{self.port}") def accept_client(self): self.conn, self.addr = self.sock.accept() self.conn.setblocking(False) print(f"Connected by {self.addr}") def recv_data(self, bufsize=4096): try: data = self.conn.recv(bufsize) return data except BlockingIOError: return "" def send_data(self, data: bytes): self.conn.sendall(data) def conn_close(self): self.conn.close() def close(self): self.sock.close()