int main(int argc, char** argv) { CmdLineParser clp; loadCmdLine(clp); ConfigInput input; if(!parseCommandLine(argc, argv, clp, input)) { return 1; } setupSignalHandling(); // // Create and Initialize the SocketHandler and MessageHandler // SocketHandler *server = new TcpSocketHandlerImpl(input.listenPort, input.ipAddress); MessageHandler *msgHandler = new EchoServerTcpMessageHandler(); msgHandler->setDebug(input.isVerbose); server->setMessageHandler(msgHandler); server->setHandlerMode(SocketHandler::MODE_SERVER); server->setDebug(input.isVerbose); if(!server->initialize()) { cerr << "Error Initializing the SocketServer, exiting"; return 1; } SOCKET_SERVER = server; // // Run the Echo Server // It will be stopped by a SIGINT (CTRL-C) signal // server->run(); // This call blocks cout << "Server stopped" << endl; delete server; delete msgHandler; return 0; }