Russian Qt Forum

Qt => Работа с сетью => Тема начата: niklep от Апрель 22, 2011, 12:11



Название: QTcpServer не слушает порт
Отправлено: niklep от Апрель 22, 2011, 12:11
Доброго времени суток. Пишу службу под windows, которая должна, помимо других действий, создавать серверный сокет и слушать его на предмет соединений. С этим казалось бы проблем быть не должно. Однако, несмотря на то, что объект класса QTcpServer говорит мне, что он слушает порт, этого не происходит. Т.е. меня обманывают=)
Вот кусок кода:
Код:
tcpServer = new QTcpServer(this);
        if (!tcpServer->listen(QHostAddress::LocalHost, nPort))
        {
                qDebug() << "Unable to start Server: " << tcpServer->errorString();
                tcpServer->close();
                return;
        }
        connect(tcpServer, SIGNAL(newConnection()),
                this, SLOT(slotNewConnection()));
        qDebug() << tcpServer->isListening() << "TCPSocket listen on port" << nPort;

Так вот. Ошибки не происходит, сокет создается. Последняя строка с qDebug() говорит следующее:
Код:
true TCPSocket listen on port 6667

Тем временем netstat не видит открытого порта, nmap также, telnet также о_0
Что не так? Службе нужны какие-то привилегии для открытия порта? Так я ей уже указал под админом запускаться, без толку.
P.S. Данный код для создания сокета прекрасно работает в моем маленьком тестовом проекте, здесь не хочет.


Название: Re: QTcpServer не слушает порт
Отправлено: niklep от Апрель 23, 2011, 09:08
Возможно, стоит переместить эту тему в раздел "Работа с сетью". Просто разместил я ее сюда из-за того, что подозреваю что проблема в том, что мое приложение - служба.