我开发Qt相关项目使用的是在国内偏小众的Qml框架
我在处理UDP协议相关的时候,这个网上就很难找到对应的开源Demo,甚至连一篇能用的文章都没有,所以我直接尝试根据Qt Widget框架能用的Demo进行改编
分别创建对应的C++文件,
我引入的包
#include <QUdpSocket>
#include <qDebug>
#include <QHostInfo>
#include <QNetworkInterface>
在h文件里面,定义一个UdpSocket对象
QUdpSocket *udpSocket;
接下来在c文件里面的构造函数需要新建这个对象,不然不能使用`
udpSocket=new QUdpSocket(this);`
接下来是发送函数
void protocol_analysis::senddata()
{
QString targetIP = "192.168.2.10";
QHostAddress targetAddr(targetIP); //目标IP
quint16 targetPort = 1200;
QString msg = "test";
QByteArray str = msg.toUtf8();
udpSocket->writeDatagram(str, targetAddr, targetPort); //发送函数
}
上面填写你对应的IP地址和端口号,还有发送信息
此时打开你可以调式UDP的工具,我这里网上随便找的
在上面设置本地的IP,端口号、还有端口类型UDP
在Qml端
效果如下