qt的readyRead信号
官方文档
qt只有在数据从系统io缓冲区到达Qt应用程序才能感知到有数据的到来,需要注意的是文档说的only once,也就是说当数据刚到达QTcpSocket时会提醒一次,而如果这时候还没有执行readyread信号,而这时候又来了很多次数据,那么就不会再触发信号。
另一方面,系统是不知道发送方write了多少数据,这些多少才算是一次数据呢,
有两种方法 超时和超过缓冲
超时是无论来的多少数据,超过这个时间,系统就会发送当前的数据给qt应用程序
超过缓冲是即使没有超过时间,但是系统缓冲区满了,同样也会发送当前的数据给qt应用程序