import sys from PySide6.QtCore import QCoreApplication, QByteArray from PySide6.QtNetwork import QTcpSocket from PySide6.QtCore import Signal, Slot class SocketClient(QCoreApplication): def __init__(self, host, port): super().__init__(sys.argv) # 创建一个 TCP Socket 对象 self.socket = QTcpSocket(self) self.host = host self.port = port # 连接信号 self.socket.connected.connect(self.on_connected) self.socket.readyRead.connect(self.on_ready_read) self.socket.disconnected.connect(self.on_disconnected) # 连接到服务器 self.socket.connectToHost(self.host, self.port) @Slot() def on_connected(self): print(f"Connected to {self.host}:{self.port}") self.socket.write(b"Hello, Server!") # 向服务器发送数据 print("Message sent to server.") @Slot() def on_ready_read(self): data = self.socket.readAll() # 读取服务器发送的数据 print(f"Received from server: {data.data().decode()}") @Slot() def on_disconnected(self): print("Disconnected from server.") self.socket.close() # 关闭连接 if __name__ == "__main__": app = SocketClient("127.0.0.1", 1234) sys.exit(app.exec())