#include "ChatServer.h" #include #include #include #include #include int main() { struct rlimit core_limits; core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY; setrlimit(RLIMIT_CORE, &core_limits); #ifdef DEBUG //chdir( "/ksg/Server/chat" ); #endif Framework::initFramework(); Zeit* z = getZeit(); Text* pfad = new Text("../log/chat/"); pfad->append(z->getZeit("y-m-d h-i-s.log")); z->release(); DateiPfadErstellen(pfad->getText()); std::ofstream file; file.open(pfad->getText()); std::streambuf* sbuf = std::cout.rdbuf(); std::cout.rdbuf(file.rdbuf()); pfad->release(); std::cout << "CS: Startet...\n"; std::cout << "CS: Lese init Datei ../data/csInit.ini ...\n"; InitDatei* dat = new InitDatei("../data/csInit.ini"); if (!dat->laden()) { std::cout << "CS: error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n"; dat->release(); exit(1); } const char* wichtig[] = { "ServerId", "DBBenutzer", "DBPasswort", "DBName", "DBIP", "DBPort", "Aktiv", "SSLPasswort", "SSLCert", "SSLKey" }; for (const char* w : wichtig) { if (!dat->wertExistiert(w)) { std::cout << "CS: error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n"; dat->release(); exit(1); } } ChatServer* cServer = new ChatServer(dat); std::cout << "CS: Der Admin Server läuft. Startforgang beendet.\n"; cServer->runn(); cServer->ende(); cServer->release(); dat->release(); std::cout << "CS: Der Server ist heruntergefahren.\n"; file.close(); std::cout.rdbuf(sbuf); Framework::releaseFramework(); return 0; }