我正在使用waitForReadyRead,超时= -1。
我也不能在我的实现中使用qt信号槽机制
有人可以解释一下上面的实施中出了什么问题
答案 0 :(得分:0)
来自Qt documentation of QTcpThread:
注意:此类中的所有函数都是可重入的。
这意味着从多个线程调用一个对象是不安全的(有关更多信息,请阅读this)。即使您以某种方式使代码工作,它也可能在较旧版本或较新版本中崩溃。
如果你真的不能使用信号/插槽,那么你可以在想要关闭连接时设置一个标志,并在一个超时循环中调用waitForReadyRead。然后,您可以轮询该标志并使用waitForReadyRead-thread关闭套接字(如果已设置)。