// x.h QUdpSocket* udp = nullptr; // UDP对象 void createUdpAndSendData(); // 创建UDP对象和发送广播数据 void dropUdp(); // 释放UDP对象 void readData(); // 用来接收其他设备发送的数据
void createUdpAndSendData() { // 创建UDP对象 if(udp == nullptr) { udp = new QUdpSocket(this); // 第一种方式,绑定当前默认网卡来发送广播 // udp->bind(52110, QUdpSocket::ShareAddress); // 第二种方式,绑定指定网卡 QHostAddress ip1("10.10.13.132"); udp->bind(ip1, 52110, QUdpSocket::ShareAddress); connect(udp, &QUdpSocket::readyRead, this, &MyWifiSelect::readSocketData); } // 发送广播 QByteArray data = "Hello,I'm on line!"; udp->writeDatagram(data.data(), data.size(), QHostAddress::Broadcast, 52110); } void dropUdp() { if (udp) { delete udp; udp = nullptr; } } void readData() { while (udp->hasPendingDatagrams()) { QNetworkDatagram data = udp->receiveDatagram(); QString s = data.data(); } }
标签:UDP,Qt,void,udp,发送,广播,QUdpSocket,data From: https://www.cnblogs.com/shiyixirui/p/17804762.html