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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QUdpSocket закрывается при host unreachable  (Прочитано 4674 раз)
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.05 секунд. Запросов: 22.