- 主题:请教socket编程如何保证响应的时效性
还有个大坑,有时候不会有readyRead信号,只能在finished的时候readAll一次读完,不知道什么原因
【 在 hengcuiyuan 的大作中提到: 】
: qt搞通信是有点难度。研究了一下,可能是readyRead信号的触发问题,我是多线程环境,如果readyRead信号触发了槽函数的执行,而在槽函数未执行完时,又有新的数据到来,好像不会再触发readRead信号,然后我就永远无法读到那后半部分到来的数据了,然后程序就会报通信超时。
--
FROM 58.34.122.*
最新的6.3.0
QNetworkReply::finished 信号
【 在 hengcuiyuan 的大作中提到: 】
: 看来都是踩过坑的,哈哈。你用的是qt的哪个版本,finished的是什么意思,信号还是函数? 我看qt5现在给的异步通信的例子,是用QDataStream里面的事务来接收数据的,说数据包没有到齐的时候可以回退,然后等待新的readyRead信号,我采用他的示范方案来试试看。
--
FROM 114.95.244.*
这个成熟度如何了,能在生产环境用吗?我倒是真有coroutine这种需求
【 在 hgoldfish 的大作中提到: 】
: 哈哈。大魔王来看看我弄的那个 qtng.org 吧。
--
FROM 114.95.244.*