/*** Network Management ***/
bool Core::startListening(uint port) {
- if(!server.listen(QHostAddress::AnyIPv6, port)) {
+ bool success = false;
+
+ // let's see if ipv6 is available
+ success = server.listen(QHostAddress::AnyIPv6, port);
+
+ if(!success && server.serverError() == QAbstractSocket::UnsupportedSocketOperationError) {
+ // fall back to v4
+ success = server.listen(QHostAddress::Any, port);
+ }
+
+ if(!success) {
qWarning("%s", qPrintable(QString("Could not open GUI client port %1: %2").arg(port).arg(server.errorString())));
- return false;
+ } else {
+ qDebug() << "Listening for GUI clients on port" << server.serverPort();
}
- qDebug() << "Listening for GUI clients on port" << server.serverPort();
- return true;
+
+ return success;
}
void Core::stopListening() {