当服务器无法访问时,来自post()
的{{1}}会阻塞线程QNetworkAccessManager(NAM)
,它几乎会冻结线程,即使触发了超时信号,退出时隙也不会被调用,它只是附加到队列(它在使用时被调试)并在NAM停止阻塞之后调用,可以是一两分钟。检查SSL并确保一切正确,甚至是openssl库的版本。如果我使用动态创建的NAM或计时器,行为是相同的。打印未知错误,不会从回复信号触发插槽。没有SSL错误或其他。
问题是线程没有响应用户输入,比如退出必须等待NAM停止阻止事件循环的应用程序。当然,退出线程的插槽会尝试中断所提出方法中的eventloop
,但是在NAM停止阻塞线程的事件循环后调用该插槽。
如何将计时器设置为NAM?或者保持敏感?如果我没有使用本地事件循环并只连接到完成信号,行为是相同的(基于谷歌搜索)
eventLoopServer