QUdpSocket的readyRead信号只触发一次

问题

QUdpSocket的readyRead信号只触发一次。

原因

on_readyRead槽函数里必须读出现有数据后,才能触发新的事件。

解决办法

在on_readyRead槽函数里取出数据。

cpp 复制代码
void MainWindow::on_readyRead()
{
    qDebug() << "on_readyRead in";

    while (m_udp->hasPendingDatagrams()) {
        char buff[1024];
        m_udp->readDatagram(buff, sizeof(buff));

    }
}
相关推荐
丁劲犇2 个月前
让 Win10 上网本 Debug 模式 QUDPSocket 信号&槽 收发不丢包的方法总结
网络·windows·qt·网络协议·udp·qudpsocket·丢包
微软技术分享1 年前
C++ Qt开发:QUdpSocket实现组播通信
开发语言·c++·qt·udp协议·qudpsocket·组播通信