123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #include <iostream>
- #include <fstream>
- #include <Zeit.h>
- #include <Datei.h>
- #include <Text.h>
- #include <Globals.h>
- #include <sys/resource.h>
- #include <Klient.h>
- #include <cstdlib>
- #include <csignal>
- #include "Server.h"
- FactoryCraftServer *mserver = 0;
- void exit()
- {
- std::cout << "Der Server wird beendet...\n";
- if( mserver )
- mserver->close();
- }
- int main()
- {
- struct rlimit core_limits;
- core_limits.rlim_cur = core_limits.rlim_max = RLIM_INFINITY;
- setrlimit( RLIMIT_CORE, &core_limits );
- Framework::initFramework();
- Zeit *z = getZeit();
- Text *pfad = new Text( "log/" );
- 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();
-
- pfad->release();
- std::cout << "Startet...\n";
- std::cout << "Lese init Datei fcInit.ini ...\n";
- InitDatei *dat = new InitDatei( "fcInit.ini" );
- if( !dat->laden() )
- {
- std::cout << "error: Datei konnte nicht gelesen werden. Das Programm wird geschlossen.\n";
- dat->release();
- file.close();
- std::cout.rdbuf( sbuf );
- exit( 1 );
- }
- const char *wichtig[] = { "SSLPort", "SSLCert", "SSLKey", "SSLPasswort" };
- for( const char *w : wichtig )
- {
- if( !dat->wertExistiert( w ) )
- {
- std::cout << "error: Der Wert '" << w << "' wurde nicht gefunden. Das Programm wird geschlossen.\n";
- dat->release();
- file.close();
- std::cout.rdbuf( sbuf );
- exit( 1 );
- }
- }
- mserver = new FactoryCraftServer( dat );
- std::atexit( exit );
- signal( SIGTERM, exit );
- signal( SIGSEGV, exit );
- signal( SIGILL, exit );
- signal( SIGABRT, exit );
- signal( SIGFPE, exit );
- signal( SIGINT, exit );
- std::cout << "Der Server läuft. Startforgang beendet.\n";
- mserver->run();
- mserver->release();
- dat->release();
- std::cout << "Der Server ist heruntergefahren.\n";
- file.close();
- std::cout.rdbuf( sbuf );
- Framework::releaseFramework();
- return 0;
- }
|