I'm using QT. I need to broadcast data, so I try to use QUdpSocket
. But data can be too big(after writeDatagram
QUdpSocket::error
returns DatagramTooLargeError
). So I split data and call writeDatagram
several times to the parts. But Received socket receive data only once, only first packet. Receive code is
connect(&m_socketReceiver, &QUdpSocket::readyRead, this, &LocalNetSharing::onDataRead);
void LocalNetSharing::onDataRead()
{
while (m_socketReceiver.hasPendingDatagrams())
{
QByteArray datagram;
datagram.resize(m_socketReceiver.pendingDatagramSize());
m_socketReceiver.readDatagram(datagram.data(), datagram.size());
//process data
}
}