ZBLOG

void Widget::receiveMsg(const QString &msg) { QJsonDocument jd = QJsonDocument::fromJson(msg.toLatin1().data()); if (jd.isNull()) { QWebSocket *websocket = qobject_cast(sender()); ui->textEdit_MsgList->append("...

下面是给代码块添加注释的示例:

void Widget::receiveMsg(const QString &msg) {
    QJsonDocument jd = QJsonDocument::fromJson(msg.toLatin1().data());
    if (jd.isNull()) {
        // 如果消息不是合法的JSON格式,说明是普通文本消息
        QWebSocket *websocket = qobject_cast<QWebSocket*>(sender());
        ui->textEdit_MsgList->append("收到客户端消息[" + websocket->origin() + "]--->" + msg);
    } else {
        // 如果消息是合法的JSON格式,提取目标地址并发送给对应的Websocket客户端
        QJsonObject jdo = jd.object();
        QString dst = jdo["dst:"].toString("O");
        for (auto socket : websocketList) {
            if (dst == socket->origin()) {
                socket->sendTextMessage(msg);
            }
        }
    }
}

在这段代码中,首先判断收到的消息是否为合法的JSON格式。如果不是,则将其视为普通文本消息,并将发送者和消息内容显示在UI界面上。如果是合法的JSON格式,解析出目标地址,并将该消息发送给与目标地址匹配的Websocket客户端。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=8940

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?