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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QUdpSocket закрывается при host unreachable  (Прочитано 4124 раз)
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« : Январь 23, 2023, 14:20 »

Проблема: QUdpHost байндится на локальный порт, затем делается writeDatagram. Если порт, на который посылается, недоступен, сокет закрывается, а при следующем writeDatagram байндится на левый (первый свободный) порт. Сейчас приходится перед writeDatagram проверять состояние сокета и, если надо, байндить снова. Можно ли отучить QUdpSocket закрываться при недоступности узла? Работа синхронная в отдельном потоке. Windows, Astra Linux.
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #1 : Январь 26, 2023, 20:14 »

покажи минимальный пример такого поведения - не должно такого быть
астра какая конкретно, а если se то какой режим (орел, смоленск) ?
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #2 : Январь 27, 2023, 11:41 »

Вроде, проблему решил. Костыль, конечно. Глянул Qt-шные исходники. Унаследовался от QUdpSocket и сделал пустым disconnectFromHost(). И под Win и под Astra всё едино. А так Astra se 1.6, Windows 10.
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #3 : Январь 27, 2023, 14:15 »

Только что выяснил. Проблема есть только при блокирующих сокетах из отдельного потока.
Записан
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #4 : Январь 27, 2023, 19:15 »

Проблема есть только при блокирующих сокетах из отдельного потока.

т.е. при работе без событий readyread ?
Записан
AlexEx
Чайник
*
Offline Offline

Сообщений: 76


Просмотр профиля
« Ответ #5 : Январь 29, 2023, 14:53 »

Да, именно так.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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