구현 | 메인함수

main.cpp

서버를 만들고, 문제가 없으면 실행하는 간단한 구조입니다.

    ServerManager manager;

    manager.openLog();
    if (ac > 2)
        manager.exitServer("There are many arguments.");
    else {
        try {
            if (ac == 2)
                manager.createServer(av[1], env);
            else
                manager.createServer(DEFAULT_CONFIG_FILE_PATH, env);
        } catch (std::exception& e) {
            manager.exitServer(e.what());
        }
    }
    try {
        manager.runServer();
    } catch (std::exception& e) {
        manager.exitServer(e.what());
    }
    exit(EXIT_SUCCESS);

절대 죽지 않는 서버를 만들고 싶다면, runServer 함수를 실행하고 예외가 발생했을 때 exitServer 함수를 실행시키지 않으면 됩니다. 서버를 다시 만들고 실행하도록 구조를 변경하면 되죠.

하지만 어떤 에러가 발생했느냐에 따라 재시작할 수 없는 상황일 수 있고, 개발 단계에서는 에러를 감지하는 것이 우선이기 때문에 종료하도록 처리하는 것이 낫습니다.

Last updated