From a8932463f73097968c074eaa6eb54efd21530977 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Sat, 25 Jun 2016 08:37:48 +0200 Subject: [PATCH] Try to listen even if the default port is no available. --- .../server/lib/httpserver/httplistener.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/YACReaderLibrary/server/lib/httpserver/httplistener.cpp b/YACReaderLibrary/server/lib/httpserver/httplistener.cpp index 7314ec74..3f638f31 100644 --- a/YACReaderLibrary/server/lib/httpserver/httplistener.cpp +++ b/YACReaderLibrary/server/lib/httpserver/httplistener.cpp @@ -39,9 +39,19 @@ void HttpListener::listen() QString host = settings->value("host").toString(); int port=settings->value("port").toInt(); QTcpServer::listen(host.isEmpty() ? QHostAddress::Any : QHostAddress(host), port); + + //YACReader--------------------------------------------- + //try to listen even if the default port is no available + int i = 0; + while (!isListening() && i < 1000) { + listen(QHostAddress::Any, (rand() % 45535)+20000); + i++; + } + //------------------------------------------------------ + if (!isListening()) { - qCritical("HttpListener: Cannot bind on port %i: %s",port,qPrintable(errorString())); + qDebug("HttpListener: Cannot bind on port %i: %s",port,qPrintable(errorString())); } else { qDebug("HttpListener: Listening on port %i",port);