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"); }
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"); }
int main() { LOG_INFO <<"hello chatServer"; dio::EventLoop eventLoop; dio::InetAddress listenAddress(1998); dio::ChatServer chatServer(&eventLoop, listenAddress); chatServer.start(); eventLoop.loop(); return 0; }