QTcpSocket的读写操作

QTcpSocket的读写函数一般是异步的,即write函数执行后,其实不一定会把数据写入socket,可能要等到事件循环(main函数的return a.exec())才会写入。如果需要立即写入,要执行QTcpSocket的flush函数。

QTcpSocket的读函数也类似,我们定义一个槽函数void slot_readyRead响应信号readyRead,槽函数中,能够读取的数据,也只有这段时间内socket收到的数据。如果此时socket再收到数据,slot_readyRead执行期间不会重入,但是能够读到的数据也只有第一次readyRead时的数据。

猜测QTcpSocket有一个读写缓冲区,在事件循环的时候,这些内容才能实际的读写。

你可能感兴趣的:(qt,Qt,QtcpSocket)