Servatrice: make listening host configurable; fix #3241 (#3242)

* fix #3241

* clangify
This commit is contained in:
ctrlaltca 2018-05-12 23:54:03 +02:00 committed by GitHub
parent c06fc562a1
commit 4cdd17945d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 39 additions and 7 deletions

View file

@ -421,8 +421,9 @@ bool Servatrice::initServer()
gameServer =
new Servatrice_GameServer(this, getNumberOfTCPPools(), servatriceDatabaseInterface->getDatabase(), this);
gameServer->setMaxPendingConnections(1000);
qDebug() << "Starting server on port" << getServerTCPPort();
if (gameServer->listen(QHostAddress::Any, static_cast<quint16>(getServerTCPPort())))
QHostAddress tcpHost = getServerTCPHost();
qDebug() << "Starting server on host" << tcpHost.toString() << "port" << getServerTCPPort();
if (gameServer->listen(tcpHost, static_cast<quint16>(getServerTCPPort())))
qDebug() << "Server listening.";
else {
qDebug() << "gameServer->listen(): Error:" << gameServer->errorString();
@ -436,8 +437,10 @@ bool Servatrice::initServer()
websocketGameServer = new Servatrice_WebsocketGameServer(this, getNumberOfWebSocketPools(),
servatriceDatabaseInterface->getDatabase(), this);
websocketGameServer->setMaxPendingConnections(1000);
qDebug() << "Starting websocket server on port" << getServerWebSocketPort();
if (websocketGameServer->listen(QHostAddress::Any, static_cast<quint16>(getServerWebSocketPort())))
QHostAddress webSocketHost = getServerWebSocketHost();
qDebug() << "Starting websocket server on host" << webSocketHost.toString() << "port"
<< getServerWebSocketPort();
if (websocketGameServer->listen(webSocketHost, static_cast<quint16>(getServerWebSocketPort())))
qDebug() << "Websocket server listening.";
else {
qDebug() << "websocketGameServer->listen(): Error:" << websocketGameServer->errorString();
@ -924,6 +927,15 @@ int Servatrice::getNumberOfTCPPools() const
return settingsCache->value("server/number_pools", 1).toInt();
}
QHostAddress Servatrice::getServerTCPHost() const
{
QString host = settingsCache->value("server/host", "any").toString();
if (host == "any")
return QHostAddress::Any;
else
return QHostAddress(host);
}
int Servatrice::getServerTCPPort() const
{
return settingsCache->value("server/port", 4747).toInt();
@ -934,6 +946,15 @@ int Servatrice::getNumberOfWebSocketPools() const
return settingsCache->value("server/websocket_number_pools", 1).toInt();
}
QHostAddress Servatrice::getServerWebSocketHost() const
{
QString host = settingsCache->value("server/websocket_host", "any").toString();
if (host == "any")
return QHostAddress::Any;
else
return QHostAddress(host);
}
int Servatrice::getServerWebSocketPort() const
{
return settingsCache->value("server/websocket_port", 4748).toInt();