Qt UDP 广播

Qt UDP 广播

发送方

 timer = new QTimer(this);//创建一个定时器,定时广播数据
 udpSocket = new QUdpSocket(this);//创建一个 udp socket
QByteArray datagram = "Broadcast message " + QByteArray::number(messageNo);
udpSocket->writeDatagram(datagram.data(), datagram.size(),
                             QHostAddress::Broadcast, 4444);//组装数据并发送到广播地址和指定端口

接受方


 udpSocket = new QUdpSocket(this);//创建一个udp socket
 udpSocket->bind(4444);//从广播指定端口号 接受数据

 connect(udpSocket, SIGNAL(readyRead()),
            this, SLOT(processPendingDatagrams()));


void processPendingDatagrams
{
    while (udpSocket->hasPendingDatagrams()) 
    {
        QNetworkDatagram netWorkObj = udpSocket->receiveDatagram();
        qDebug() << netWorkObj.senderPort()  
        << netWorkObj.senderAddress() 
        << netWorkObj.data().data();//获取数据发送方的端口号和IP地址
    }
}

推荐链接 Qt 中文文档

相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页