这个问题我也遇见过,
首先,你确认一下你的槽函数是否进入了死循环或者是其它的什么,这个可能性不是很大,下面的可能性就很大了。
其次,就是你的发送数据是在接受数据前,这样的话就会导致你的readyRead()信号已经发出去了,但是你的信号-槽还没有建立。当你的信号-槽建立的时候,readyRead()信号也就不会再发了,导致你再也接受不到信号去促发槽函数。
你要明白readyRead()信号是在有数据达到的时候才会被emited的,也就是数据达到的那个时间点发出的,错过了那个时间点就再也不会发出了,即使你的缓存里有数据可读也不会发出readyRead()信号。
你可以这么做,在你发送数据前先建立好你的信号-槽,或者使用多线程。我现在也正在研究多线程去实现数据的发送读取。如果你的发送数据是靠别的信号去促发的,你现在可以去发送那个信号,应该也会促发你的receiveMessage()槽。
不知对你有用否。