Название: Установка опций сокета в QTcpServer Отправлено: finny от Июль 27, 2011, 12:46 Имеется реализация tcp-сервера при помощи класса QTcpServer. Есть необходимость для прослушивающего порта tcp-сокета установить опцию SO_REUSEADDR, чтобы в случае некорректного завершения программы, можно было поднять TCP-сервер на том же самом порту. При том, что в QUDPSocket есть флаг QUdpSocket::ReuseAddressHint, который позволяет многократно запускать UDP-сервер на одном и том же порту.
Вариант с порождением дескриптора сокета апишными функциями, а затем вставкой его в QTcpServer с помощью функции setSocketDescriptor, не прокатывает, потому как почему-то не подаётся сигнал newConnection(). Как можно для дексриптора сокета объекта класса QTcpServer установить опцию SO_REUSEADDR и при этом не потерять поддержку событийности? Название: Re: Установка опций сокета в QTcpServer Отправлено: Странник от Июль 27, 2011, 13:26 QTcpServer::socketDescriptor (http://doc.qt.nokia.com/latest/qtcpserver.html#socketDescriptor) пробовали использовать? сразу на него нативными функциями опции поставить.
Название: Re: Установка опций сокета в QTcpServer Отправлено: finny от Июль 27, 2011, 13:49 Сразу после порождения объекта QTcpSocket дескриптор равен -1, посему смысла нет... А после listen() пробовал, но никаких плодов не дало.
|