simple fix server

This commit is contained in:
Andrei Yankovich 2019-08-06 17:03:49 +03:00
parent 4abcd137bf
commit 47d19f4492
9 changed files with 48 additions and 10 deletions

View File

@ -4,6 +4,7 @@
#include <client.h>
#include <back-end/settings.h>
#include <quasarapp.h>
void MainMenuModel::handleClientStatusChanged(bool) {
auto status = OnlineStatus::ClientIsOffline;
@ -11,12 +12,22 @@ void MainMenuModel::handleClientStatusChanged(bool) {
status = OnlineStatus::AuthorizationRequired;
}
if (_client->isLogin()) {
status = OnlineStatus::Success;
}
setOnlineStatus(status);
}
MainMenuModel::MainMenuModel(QObject *ptr): QObject (ptr) {
if(!ClientProtocol::initClientProtockol()) {
QuasarAppUtils::Params::verboseLog("client protockol not inited", QuasarAppUtils::Error);
}
_userViewModel = new UserView (this);
_conf = Settings::instans();
auto adderss = _conf->value(SERVER_ADDRESS, SERVER_ADDRESS_DEFAULT).toString();
auto port = _conf->value(SERVER_ADDRESS_PORT, SERVER_ADDRESS_DEFAULT_PORT).toInt();
_client = new ClientProtocol::Client(adderss, static_cast<unsigned short>(port), this);
@ -26,6 +37,7 @@ MainMenuModel::MainMenuModel(QObject *ptr): QObject (ptr) {
connect(_client, &ClientProtocol::Client::onlineChanged,
this , &MainMenuModel::handleClientStatusChanged);
}
QObject *MainMenuModel::userViewModel() const {

View File

@ -6,7 +6,9 @@
#define SERVER_ADDRESS "SERVER_ADDRESS"
#define SERVER_ADDRESS_PORT "SERVER_ADDRESS_PORT"
#define SERVER_ADDRESS_DEFAULT "178.124.160.6"
//#define SERVER_ADDRESS_DEFAULT "quasarapp.ddns.net"
#define SERVER_ADDRESS_DEFAULT "127.0.0.1"
#define SERVER_ADDRESS_DEFAULT_PORT DEFAULT_SNAKE_PORT
class Settings

View File

@ -14,8 +14,10 @@ Item {
signal playGame();
onOnlineStatusChanged: {
if (onlineStatus !== 4) {
if (onlineStatus) {
loginPopUp._show();
} else {
loginPopUp.close();
}
}
@ -110,6 +112,21 @@ Item {
source: LoginView {
id: loginView
loginStatus: onlineStatus
onSigLogin: {
if (!model) {
return;
}
model.login(gmail, password);
}
onSigNewUser: {
if (!model) {
return;
}
model.registerNewUser(gmail, userName, password);
}
}
visible: true;

View File

@ -43,7 +43,6 @@ private:
bool sendPackage(Package &pkg);
inline unsigned char nextIndex();
bool ping();
QByteArray generateHash(const QByteArray &pass) const;
@ -68,6 +67,8 @@ public:
*/
bool login(const QString& gmail, const QByteArray &pass);
bool ping();
void loginOut();
/**

View File

@ -27,6 +27,7 @@ public:
bool take(QRSAEncryption::Rsa rsa, RSAKeyPair &res);
void addNewKey(QRSAEncryption::Rsa rsa, const RSAKeyPair& key);
int size(QRSAEncryption::Rsa rsa) const;
signals:
void sigKeyTaked();

View File

@ -261,8 +261,10 @@ Server::~Server() {
}
bool Server::run(const QString &ip, unsigned short port) {
if (!listen(QHostAddress(ip), port) ) {
QuasarAppUtils::Params::verboseLog("listing fail " + this->errorString());
if (!listen(QHostAddress(ip), port)) {
QuasarAppUtils::Params::verboseLog("listing fail " + this->errorString(),
QuasarAppUtils::Error);
return false;
}

View File

@ -271,18 +271,21 @@ MainServer::MainServer(bool forceKeys ,QObject *ptr):
connect(_db, &SqlDBCache::sigPlayerChanged,
_websocketctrl, &WebSocketController::handlePlayerChanged);
if (!ClientProtocol::initClientProtockol()){
QuasarAppUtils::Params::verboseLog("clientProtocol no inited", QuasarAppUtils::Error);
}
}
bool MainServer::run(const QString &ip, unsigned short port, const QString& db,
const QString& terminalServer, bool terminalForce) {
const QString& terminalServer) {
if (!_db->initDb((db.size())? db: DEFAULT_DB_PATH)) {
QuasarAppUtils::Params::verboseLog("init db fail!", QuasarAppUtils::Error);
return false;
}
if (!_terminalPort->run((terminalServer.isEmpty())? DEFAULT_SERVER : terminalServer,
terminalForce)) {
if (!_terminalPort->run((terminalServer.isEmpty())? DEFAULT_SERVER : terminalServer, true)) {
QuasarAppUtils::Params::verboseLog("run termonal fail!", QuasarAppUtils::Error);
return false;
}

View File

@ -48,7 +48,7 @@ private slots:
public:
MainServer(bool forceKeys, QObject *ptr = nullptr);
bool run(const QString& ip = "", unsigned short port = 0, const QString &db = "",
const QString &terminalServer = "", bool terminalForce = false);
const QString &terminalServer = "");
virtual ~MainServer();
};

View File

@ -596,7 +596,7 @@ void testSankeServer::testProtockols() {
QCoreApplication app(argc, argv);
auto serv = new MainServer(true, this);
QVERIFY(serv->run(TEST_SERVER_ADDRESS, TEST_SERVER_PORT , "", TEST_LOCAL_SERVER, true));
QVERIFY(serv->run(TEST_SERVER_ADDRESS, TEST_SERVER_PORT , "", TEST_LOCAL_SERVER));
ServerProtocol::Client cleS(TEST_LOCAL_SERVER);
ClientProtocol::Client cleC(TEST_SERVER_ADDRESS, TEST_SERVER_PORT);