- 我在单独的线程(pthread)中调用 QTcpSocket 的 waitForReadyRead 方法,
- 现在,如果从主线程关闭套接字,则应用程序在 waitForReadyRead 方法中崩溃。
我正在使用 waitForReadyRead 超时 = -1。
我也不能在我的实现中使用 qt 信号槽机制
有人可以解释一下上述实现中有什么问题吗
我正在使用 waitForReadyRead 超时 = -1。
我也不能在我的实现中使用 qt 信号槽机制
有人可以解释一下上述实现中有什么问题吗
注意:该类中的所有函数都是可重入的。
这意味着从多个线程调用一个对象是不安全的(阅读此内容以获取更多信息)。即使你让你的代码以某种方式工作,它也可能在旧版本或新版本中崩溃。
如果您真的不能使用信号/插槽,那么您可以在要关闭连接时设置一个标志,并在超时的循环中调用 waitForReadyRead。然后,您可以轮询标志并使用 waitForReadyRead 线程关闭套接字(如果已设置)。