- 主题:请教socket编程如何保证响应的时效性
TCP 不保证通讯的高速
不过,100MS 太大了,感觉不大正常
【 在 hengcuiyuan 的大作中提到: 】
: 用qt的socket,不知道是qt函数库的问题呢,还是什么问题,通信的时效性无法保证。但听过侦听网络数据包发现从对方读取数据,对方的响应很快,基本在5ms以内就有答复,但是我的应用程序却无法保证在100ms内获取到对方的应答,有的时候可以,有的时候不行。此外,debug版本和release版本的表现也不一样,qt4和qt5编译出来的程序的表现也不一样。感觉进入了一个大坑!
--
FROM 52.9.227.*
啊,是我没仔细看贴
也就是当线程A处理数据时,信号又被重设了
如果只是单线程,这个重设的动作不可能发生
经典的用锁的情况,进入之前锁住,出去之后放掉 --- 只是不知道这里应该怎么做
【 在 hengcuiyuan 的大作中提到: 】
: 问题找到了,就是卡在readyRead的槽函数里面,当在槽函数里面执行的时候,有新数据到来,但这个新数据并不会再次有readyRead信号发出,后面的数据接收和处理程序就一直在傻等数据到齐,因而导致的通信超时。多线程的时候这种概率大,不搞多线程的时候没问题。
:
--
FROM 52.9.227.*