0

我正在开发一个应用程序,其中包含 QT4.7 中服务器和客户端之间的简单数据通信。

我需要从客户端后台隐藏同步。

所以我决定为此使用Qthread

但是我收到一个错误,我无法将QnetwrokAccessManager对象传递给线程。

有什么办法吗?

4

2 回答 2

0

正如Qt 文档所说

QNetworkAccessManager 有一个异步 API。

因此,您根本不需要使用线程。您唯一需要的是通过信号/插槽评估与 QNetworkAccessManager 的通信。

于 2013-09-20T07:44:27.003 回答
0

不推荐,但可以使用qnam->moveToThread方法。QNetworkAccessManager 只能在一个线程中执行。我真的不明白,为什么你需要在某个地方传递它。

在大多数情况下QNetworkAccessManager应该在主线程中执行,但是如果您需要处理大量不修改 GUI 的网络事件(并且不应加权 GUI 线程) - 您可以移动/创建QNetworkAccessManager到/在另一个线程中。

您能否将您的问题编辑得更清楚(一些代码示例,您要做什么)?

于 2013-09-20T09:27:48.130 回答