mirror of
https://github.com/modelec/TCPSocketServer.git
synced 2026-01-18 16:37:29 +01:00
34 lines
690 B
C++
34 lines
690 B
C++
#include "TCPServer.h"
|
|
#include <Modelec/CLParser.h>
|
|
#include <csignal>
|
|
|
|
std::atomic<bool> shouldStop = false;
|
|
|
|
void signalHandler( int signum ) {
|
|
shouldStop = true;
|
|
}
|
|
|
|
int main(int argc, char* argv[]) {
|
|
signal(SIGINT, signalHandler);
|
|
signal(SIGTERM, signalHandler);
|
|
|
|
CLParser clParser(argc, argv);
|
|
|
|
int port = clParser.getOption<int>("port", 8080);
|
|
|
|
TCPServer server(port);
|
|
|
|
try {
|
|
server.start();
|
|
|
|
while (!server.shouldStop() && !shouldStop) {
|
|
usleep(500'000);
|
|
}
|
|
|
|
server.stop();
|
|
} catch (const std::exception& ex) {
|
|
std::cerr << "Error: " << ex.what() << std::endl;
|
|
return 1;
|
|
}
|
|
return 0;
|
|
} |