Re: Помогите с вопросом
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 13.04.24 16:42
Оценка: -1 :)
Здравствуйте, milkpot, Вы писали:

M>Первая версия принимала пакеты в главном потоке, в результате чего замерзало окно приложения.


Видимо, ты в блокирующем режиме читал данные?


M>Перенос readPendingDatagrams в рабочую нить привел к тому, что приложение перестало принимать пакеты.


Тут могут быть какие-то особенности архитектуры Qt. Я как-то из COM-порта пытался читать средствами Qt, нихрена не читалось, оказалось, что нужен цикл обработки сообщений, хотя, казалось бы, причем тут COM-порт в консольной программе. Пришлось что-то руками дёргать. В основном потоке, где у тебя окно, такой цикл есть, а вот в воркере его вероятно нет, и вероятно, что сокету это нужно тоже, как и COM-порту


M>Wireshark видит, что пакеты приходят к хосту от устройства, а приложение пакеты не видит.

M>Вот фрагменты кода

Спасибо, не надо
Маньяк Робокряк колесит по городу
Отредактировано 16.04.2024 21:47 Marty . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.