param_service/socket_client.py

45 lines
1.3 KiB
Python
Raw Normal View History

2025-02-19 14:35:44 +08:00
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())