Priority: P2: Important
Affects Version/s: 5.5.0
Fix Version/s: None
Component/s: Network: Sockets
Environment:Windows 7 Professional SP1
Compiler: Visual C++ Compiler 12.0 (amd64)
Could also be reproduced in Linux:
debian wheezy 7.8
Compiler: gcc (Debian 4.7.2-5) 4.7.2
Under heavy load(UdpTraffic to the bound socket),
QUdpSocket starts receiving datagrams(and emitting readyRead()), but it will stop after a while.
In this state hasPendingDatagrams() returns true.
The QUdpReceiver does not emit the signal readyRead() any more, even though the slot connected to readyRead() reads all datagrams until
hasPendingDatagrams() returns false.
This can be reproduced in Qt 5.5.0 but not in Qt 5.3.2
with the broadcast examples in examples/network, when applying the attached diff to the broadcast sender. This patch simply increases the amount of sent messages.
The broadcastreceiver will stop receiving messages(displaying a fixed message number), while the broadcastsender still sends messages.
I would expect the broadcastreceiver to continue(->This is exacly what's happening in Qt 5.3.2)