Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
QNetworkAccessManager and threads
-
Доброго времени суток.
Есть main тред, в котором и создан QNetworkAccessManager. Есть еще N тредов, из которых нужно отправлять запросы. Из другого треда нельзя посылать запрос в NAM, пушо оно не может создать QNetworkReply (тред парента не совпадает с текущим). В других тредах мне нельзя создавать еще один NAM, т.к я постоянно делаю msleep (нужно, чтобы сообщения отправлялись через малый интервал времени, другого решения этого не нашел), и по этому работа NAM (и ответов на запросы) будет очень медленной, а это плохо.
Собственно что в этом случае делать? Единтсвенное, что приходит в голову, это эмитить сигналы из треда в main тред, чтобы тот уже отпрвил сообщение. Но уж больно это не красиво...
-
Другого варианта не знаю. Сам так делаю. Сабкласс QNAM с кастомными слотами и всё. Оверхед не так уж и велик если главный класс не гуй.
-
Пришлось таки делать NAM для каждого из тредов (благо куки передаются).