Здравствуйте, гость ( Вход | Регистрация )
|
KuvshinoF |
22.4.2021, 10:10
Сообщение
#1
|
|
Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 25.7.2013 Пользователь №: 3887 Спасибо сказали: 0 раз(а) Репутация: 0
|
Задача следующая - постоянно корректно читать сетевые данные (предполагается при запуске потока запускать таймер вычитывания (если они есть конечно) раз в секунду данных из сети). Пример выше не работает - говорит "timer cannot be started from another thread". DataTimer обязателен для некой обработки ситуации отсутствия сетевых данных. И как лучше читать данные - как в примере выше или вместо if сделать while с int size=socket.pendingdatagramsize();? Или лучше как-то по-другому считывать данные? (пробовал вместо таймера запуска чтения данных использовать while(1) {чтение данных} прямо в run, но тогда возникает та же ошибка с таймером DataTimer, который обязателен) |
|
|
|
![]() |
|
KuvshinoF |
23.4.2021, 16:58
Сообщение
#2
|
|
Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 25.7.2013 Пользователь №: 3887 Спасибо сказали: 0 раз(а) Репутация: 0
|
#include<memory> включен, иначе бы я не смог бы объявить std::unique_ptr<QTimer>, только make_unique std не видит...В pro-файле прописан с++11 в QMAKE_LFLAGS.
Ну вот с обычным указателем не работает - видимо вообще нельзя запускать таймер в run...или можно? |
|
|
|
KuvshinoF Чтение сетевых данных без readyread() 22.4.2021, 10:10
Алексей1153 KuvshinoF, объект MyClass создаётся в другом поток... 22.4.2021, 10:32
KuvshinoF 1. Как же я тогда локальную переменную QTimer Data... 22.4.2021, 15:02
Алексей1153 1 - ну, ок, можно оставить полем, однако создать о... 22.4.2021, 15:16
KuvshinoF 2. А обязательно создавать умный указатель? ( у ме... 23.4.2021, 15:42
Алексей1153 KuvshinoF, заголовок #include<memory> включе... 23.4.2021, 16:03
Алексей1153 KuvshinoF, make_unique в C++14 добавлен. А вообще ... 23.4.2021, 17:42
KuvshinoF 1. Пытаюсь сделать чтение данных без таймера - в r... 26.4.2021, 17:55
Алексей1153 Цитата(KuvshinoF @ 26.4.2021, 19:55) udps... 26.4.2021, 18:09![]() ![]() ![]() |
|
Текстовая версия | Сейчас: 1.1.2026, 0:29 |