From 31e8f302ac60257f399f5cb35036027b82eeb16a Mon Sep 17 00:00:00 2001 From: Nikola Petrov Date: Wed, 18 Jun 2025 17:47:40 +0200 Subject: [PATCH] Add check if connected and remove block list and removing of old data. --- app/inc/App.hpp | 2 ++ app/inc/DnaStore.hpp | 1 + app/src/App.cpp | 6 +++++- app/src/DnaStore.cpp | 14 ++++++++++++++ server/src/server.cpp | 11 +++-------- 5 files changed, 25 insertions(+), 9 deletions(-) diff --git a/app/inc/App.hpp b/app/inc/App.hpp index e9829c4..1f9b894 100644 --- a/app/inc/App.hpp +++ b/app/inc/App.hpp @@ -42,4 +42,6 @@ private: Rectangle genTextBox; Rectangle simTextBox; float simil = 100.0f; + + Color appColor = BLUE; }; diff --git a/app/inc/DnaStore.hpp b/app/inc/DnaStore.hpp index ab99650..9b687a9 100644 --- a/app/inc/DnaStore.hpp +++ b/app/inc/DnaStore.hpp @@ -7,4 +7,5 @@ namespace DnaStore void saveVec(DnaManagerData *data); void saveGen(DnaManagerData *data); void sync(); + bool ping(); } // namespace DnaStore diff --git a/app/src/App.cpp b/app/src/App.cpp index cb1dda1..4b41e0b 100644 --- a/app/src/App.cpp +++ b/app/src/App.cpp @@ -114,6 +114,10 @@ void App::init(int screenWidth, int screenHeight) float recPosX = screenWidth * 0.3f; disLikeBox = {0, posY, (float)recPosX, (float)screenWidth}; likeBox = {screenWidth - recPosX, posY, (float)recPosX, (float)screenWidth}; + + if(!DnaStore::ping()){ + appColor = RED; + } } void App::upTex(Liked liked) @@ -202,7 +206,7 @@ void App::update() void App::draw() { - ClearBackground(BLUE); + ClearBackground(appColor); Rectangle source = {0, 0, (float)screenWidth, (float)-screenWidth}; Vector2 origin = {0.0f, 0.0f}; diff --git a/app/src/DnaStore.cpp b/app/src/DnaStore.cpp index 86f9d2f..d0f0c45 100644 --- a/app/src/DnaStore.cpp +++ b/app/src/DnaStore.cpp @@ -161,6 +161,20 @@ void DnaStore::sync() t.detach(); } +bool DnaStore::ping(){ + int sock = TcpSocket::connectt(HOST_NAME, keyPort); + if (sock < 0) + { + return false; + } + + int64_t header = 0; + TcpSocket::recvt(sock, &header, sizeof(header)); + TcpSocket::closet(sock); + + return header == StartHeader; +} + void client(std::string_view prefix) { constexpr int extra_buff = 22; // len of 2**31 -> 2147483648 plus the pattern size diff --git a/server/src/server.cpp b/server/src/server.cpp index e338276..33c1f5a 100644 --- a/server/src/server.cpp +++ b/server/src/server.cpp @@ -89,11 +89,6 @@ BlockedList blockedList; // When a new client connected: void call(int sock, sockaddr_in newSocketInfo) { - if (blockedList.isBlocked(newSocketInfo.sin_addr.s_addr)) - { - TcpSocket::closet(sock); - return; - } std::string add = TcpSocket::remoteAddress(newSocketInfo); printf("new: %s\n", add.c_str()); int64_t conf, id; @@ -106,7 +101,7 @@ void call(int sock, sockaddr_in newSocketInfo) { printf("StartHeader ERROR\n"); TcpSocket::closet(sock); - blockedList.addWarning(newSocketInfo.sin_addr.s_addr); + //blockedList.addWarning(newSocketInfo.sin_addr.s_addr); return; } @@ -114,7 +109,7 @@ void call(int sock, sockaddr_in newSocketInfo) { printf("ID ERROR\n"); TcpSocket::closet(sock); - blockedList.addWarning(newSocketInfo.sin_addr.s_addr); + //blockedList.addWarning(newSocketInfo.sin_addr.s_addr); return; } @@ -216,7 +211,7 @@ int main() sql::init(); sql::create_tables(); blockedList.init(); - std::thread t(checker); + //std::thread t(checker); std::thread l(listen_key); // Bind the server to a port. int err = TcpSocket::listent("0.0.0.0", serverPort, call);