I have two apps. one receive data with TCP socket , another generate the input. they both run the timer of 30 millisecond. receiver has to process the data that comes in. Reading and processing are in same thread. after few second receiver start to show that cannot keep up with input.(it could be a bug, or it could be that extra process take time) After 10 mins the difference is huge. for example: Receiver get package 1000, but input is package 5000. I believe all the data accumulated in lower level real socket buffer. The funy thing is that when I stop the input, the receiver stop getting data as well. this is not desired behavior. it should keep reading the data in the socket. In fact, readyRead () is not emitting any more.

Is this a bug? or i use it wrong?