(1)引用头文件。

#include <QHostAddress>
#include <QUdpSocket>
#include <QDebug>

#include<QJsonObject>
#include<QJsonDocument>

(2)定义变量。

   QUdpSocket *udpSocket;

    // 发送的数据
    int type ;
    int ship_id ;
    int keep_pos ;
    int keep_head ;
    double target_x ;
    double target_y;
    double target_head ;

(3)定义对象。

udpSocket=new QUdpSocket;//创建一个QUdpSocket

(4)拼接json并且发送。

 QByteArray byteArray;
        QJsonObject rectJson;
        rectJson.insert("type",type);
        rectJson.insert("ship_id",ship_id);
        rectJson.insert("keep_pos",keep_pos);
        rectJson.insert("keep_head",keep_head);
        rectJson.insert("target_x",target_x);
        rectJson.insert("target_y",target_y);
        rectJson.insert("target_head",target_head);

        QString aa = "type:"+QString::number(type)+";"+"ship_id:"+QString::number(ship_id);
        //qDebug()<<aa;

        QString bb = "keep_pos:"+QString::number(keep_pos)+";"+"keep_head:"+QString::number(keep_head)+";"+"target_x:"+QString::number(target_x)
                +";"+"target_y:"+QString::number(target_y)+";"+"target_head:"+QString::number(target_head);
        //qDebug()<<bb;


        QJsonDocument rectJsonDoc;
        rectJsonDoc.setObject(rectJson);
        byteArray = rectJsonDoc.toJson(QJsonDocument::Compact);


        if(udpSocket->writeDatagram(byteArray.data(),byteArray.size(),QHostAddress(configList[2]),port))//QHostAddress::Broadcast向广播地址发送
        {
            return;
        }

GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e 2 个月前
8c391e04 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐