Example #1
0
void webserver_loop() {
    dmd_log(LOG_INFO, "in function %s, starting webserver main loop.\n",
            __func__);

    int serverfd = newSocket();
    webserver_serverAddr = newAddress();
    bindAddress(serverfd, webserver_serverAddr);
    listenAddress(serverfd);

    struct epoll_event events[MAX_EPOLL_EVENT];
    int epollfd = newEpollSocket();

    dmd_log(LOG_DEBUG, "in function %s, begin to work\n", __func__);
    addSockfd(epollfd, serverfd);
    while (1) {
        int ret = epoll_wait(epollfd, events, MAX_EPOLL_EVENT, -1);
        dmd_log(LOG_DEBUG, "in function %s, after epoll wait\n", __func__);
        if (ret < 0) {
            dmd_log(LOG_ERR, "in function %s, epoll failure\n", __func__);
        } else {
            handleEvent(epollfd, serverfd, events, ret);
        }
    }  // while

    closeSocket(serverfd);
    releaseAddress(webserver_serverAddr);
}
void RARunnable::run()
{
    if (!sConfigMgr->GetBoolDefault("Ra.Enable", false))
        return;

    ACE_Acceptor<RASocket, ACE_SOCK_ACCEPTOR> acceptor;

    uint16 raPort = uint16(sConfigMgr->GetIntDefault("Ra.Port", 3443));
    std::string stringIp = sConfigMgr->GetStringDefault("Ra.IP", "0.0.0.0");
    ACE_INET_Addr listenAddress(raPort, stringIp.c_str());

    if (acceptor.open(listenAddress, m_Reactor) == -1)
    {
        sLog->outError("Trinity RA can not bind to port %d on %s", raPort, stringIp.c_str());
        return;
    }

    sLog->outString("Starting Trinity RA on port %d on %s", raPort, stringIp.c_str());

    while (!World::IsStopped())
    {
        ACE_Time_Value interval(0, 100000);
        if (m_Reactor->run_reactor_event_loop(interval) == -1)
            break;
    }

    ;//sLog->outStaticDebug("Trinity RA thread exiting");
}
Example #3
0
void RARunnable::run()
{
    if (!sConfigMgr->GetBoolDefault("Ra.Enable", false))
        return;

    ACE_Acceptor<RASocket, ACE_SOCK_ACCEPTOR> acceptor;

    uint16 raPort = uint16(sConfigMgr->GetIntDefault("Ra.Port", 3443));
    std::string stringIp = sConfigMgr->GetStringDefault("Ra.IP", "0.0.0.0");
    ACE_INET_Addr listenAddress(raPort, stringIp.c_str());

    if (acceptor.open(listenAddress, m_Reactor) == -1)
    {
        TC_LOG_ERROR(LOG_FILTER_WORLDSERVER, "ORIGIN RA can not bind to port %d on %s", raPort, stringIp.c_str());
        return;
    }

    TC_LOG_INFO(LOG_FILTER_WORLDSERVER, "Starting ORIGIN RA on port %d on %s", raPort, stringIp.c_str());

    while (!World::IsStopped())
    {
        ACE_Time_Value interval(0, 100000);
        if (m_Reactor->run_reactor_event_loop(interval) == -1)
            break;
    }

    TC_LOG_DEBUG(LOG_FILTER_WORLDSERVER, "ORIGIN RA thread exiting");
}
Example #4
0
int main() {
    LOG_INFO <<"hello chatServer";
    dio::EventLoop eventLoop;

    dio::InetAddress listenAddress(1998);
    dio::ChatServer chatServer(&eventLoop, listenAddress);

    chatServer.start();
    eventLoop.loop();
    return 0;
}