[Interest] readyRead() signal issues with QTcpSopcket and Qt 5.6 under minGW

Etienne Sandré-Chardonnal etienne.sandre at m4x.org
Sat Jul 9 14:56:19 CEST 2016


Dear all,

I have a (large) application using TCP sockets to communicate. Both sides
of the TCP connection are the same application on two different machines,
so the code is known and debuggable on both.

Since the app was migrated from Qt 5.4 to 5.6, I have a problem : some
readyRead signals are not emitted, and thus the packets are not processed
on the receiver, until another packet is sent which triggers the
readyRead() signal.

The incomingData() slot connected to QTcpSocket::readyRead() basically
fetches data until QTcpSocket::bytesAvailable() is zero, so I'm not
assuming that QTcpSocket::readyRead() should be emitted twice if two
packets are sent. Also, the sender uses QTcpSocket::flush() after sending
each packet.

I know that this problem may come from my code, and I'm trying to check and
debug everything. But do you know any reason that it could be caused by a
bug or change in behavior of Qt 5.6?

Thanks
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20160709/b1dd0960/attachment.html>


More information about the Interest mailing list