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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Установка опций сокета в QTcpServer  (Прочитано 3806 раз)
finny
Гость
« : Июль 27, 2011, 12:46 »

Имеется реализация tcp-сервера при помощи класса QTcpServer. Есть необходимость для прослушивающего порта tcp-сокета установить опцию SO_REUSEADDR, чтобы в случае некорректного завершения программы, можно было поднять TCP-сервер на том же самом порту. При том, что в QUDPSocket есть флаг QUdpSocket::ReuseAddressHint, который позволяет многократно запускать UDP-сервер на одном и том же порту.
Вариант с порождением дескриптора сокета апишными функциями, а затем вставкой его в QTcpServer с помощью функции setSocketDescriptor, не прокатывает, потому как почему-то не подаётся сигнал newConnection().
Как можно для дексриптора сокета объекта класса QTcpServer установить опцию SO_REUSEADDR и при этом не потерять поддержку событийности?
Записан
Странник
Гость
« Ответ #1 : Июль 27, 2011, 13:26 »

QTcpServer::socketDescriptor пробовали использовать? сразу на него нативными функциями опции поставить.
Записан
finny
Гость
« Ответ #2 : Июль 27, 2011, 13:49 »

Сразу после порождения объекта QTcpSocket дескриптор равен -1, посему смысла нет... А после listen() пробовал, но никаких плодов не дало.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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