还有一个问题。既然读取网络数据不在主线程中,就不应该用readyRead,而是应该用 waitForReadyRead。
Qt 文档写的很清楚:
This function can operate without an event loop. It is useful when writing non-GUI applications and when performing I/O operations in a non-GUI thread.
【 在 hengcuiyuan 的大作中提到: 】
: qt搞通信是有点难度。研究了一下,可能是readyRead信号的触发问题,我是多线程环境,如果readyRead信号触发了槽函数的执行,而在槽函数未执行完时,又有新的数据到来,好像不会再触发readRead信号,然后我就永远无法读到那后半部分到来的数据了,然后程序就会报通信超时。
:
--
修改:dormouseBHU FROM 120.244.156.*
FROM 120.244.156.*