问题
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));
}
}