警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

QWebSocket客户端示例

一个示例WebSocket客户端,它发送一条消息并显示它接收到的消息。

描述

EchoClient 示例实现了一个 WebSocket 客户端,该客户端向 WebSocket 服务器发送消息并转储它收到的回复。此示例最好与 EchoServer 示例一起使用。

代码

我们首先连接到 `connected()` 信号。

def __init__(self, url, debug, parent):
    QObject(parent),
    m_debug(debug)

    if m_debug:
        print("WebSocket server:", url)
    m_webSocket.connected.connect(self.onConnected)
    m_webSocket.disconnected.connect(self.closed)
    m_webSocket.open(url)

连接后,我们打开到给定url的套接字。

def onConnected(self):

    if m_debug:
        print("WebSocket connected")
    m_webSocket.textMessageReceived.connect(
            self.onTextMessageReceived)
    m_webSocket.sendTextMessage("Hello, world!")

当客户端成功连接时,我们连接到`onTextMessageReceived()`信号,并发送“Hello, world!”。如果与EchoServer连接,我们将收到相同的消息返回。

def onTextMessageReceived(self, message):

    if m_debug:
        print("Message received:", message)
    m_webSocket.close()

每当收到消息时,我们都会将其写出。