Russian Qt Forum
Апрель 20, 2024, 14:59 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: readyRead() опережающий вызов  (Прочитано 2599 раз)
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« : Сентябрь 20, 2020, 08:19 »

Работает клиент, слушающий UDP порт. Принятые датаграммы передаются на обработку в подпрограмму. Вопрос: что будет, если текущий кусок информации еще обрабатывается подпрограммой, а уже поступила новая информация? Будет ли ожидание завершения или случится повторный вызов занятой еще подпрограммы?
Записан

Как мало времени и как много нужно узнать
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Сентябрь 20, 2020, 08:36 »

Цитировать
readyRead() is not emitted recursively; if you reenter the event loop or call waitForReadyRead() inside a slot connected to the readyRead() signal, the signal will not be reemitted (although waitForReadyRead() may still return true).
https://doc.qt.io/qt-5/qiodevice.html#readyRead

Пока ты не выйдешь из слота, сигналов тебе не поступит.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Примерный ученик
Бывалый
*****
Offline Offline

Сообщений: 450


И это не всегда помогает


Просмотр профиля
« Ответ #2 : Сентябрь 20, 2020, 08:38 »

спасибо
Записан

Как мало времени и как много нужно узнать
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.