void zTCPClientTask::checkConn() { //Zebra::logger->debug("zTCPClientTask::checkConn"); zRTime currentTime; if (_ten_min(currentTime)) { Cmd::t_NullCmd tNullCmd; sendCmd(&tNullCmd,sizeof(tNullCmd)); } }
void LTCPClientTask::checkConn() { LRTime currentTime; if (_ten_min(currentTime)) { #ifdef _NULCMD Cmd::t_NullCmd tNullCmd; sendCmd(&tNullCmd, sizeof(tNullCmd)); #endif } }
void SessionTimeTick::run() { //int rush = 0; while(!isFinal()) { zThread::msleep(50); //获取当前时间 currentTime.now(); recordClient->doCmd(); SessionTaskManager::getInstance().execEvery(); if (_five_sec(currentTime)) { HeroCardManager::getMe().timer(); //��������ƥ�� } #if 0 if (_five_sec(currentTime)) { CDareM::getMe().timer(); CNpcDareM::getMe().timer(); CCityM::getMe().timer(); CArmyM::getMe().timer(); } if (_one_sec(currentTime)) { CQuizM::getMe().timer(); CUnionM::getMe().timer(); CAllyM::getMe().timer(); CArenaManager::getInstance().Arena_timer(); } if (_ten_min(currentTime)) { AuctionService::getMe().checkDB(); } #endif // [ranqd Add] Session每五分钟同步一次服务器在线状态 if( _five_min(currentTime) ) { UserSessionManager::getInstance()->notifyOnlineToGate(); } if (_one_min(currentTime)) { SessionService::getInstance().checkShutdown(); #if 0 //SessionService::getInstance().checkGumu(); CCountryM::getMe().timer(); //CGemM::getMe().timer(); CartoonPetService::getMe().writeAllToDB(); EmperorForbid::getMe().timer(); #endif //定时动作 time_t timValue = time(NULL); struct tm tmValue; zRTime::getLocalTime(tmValue,timValue); SessionService::getInstance().checkCountry(tmValue); //GM公告 for (int i=0; i<=5; i++) { if (SessionService::wMsg[i].time) { if (SessionService::wMsg[i].count) SessionService::wMsg[i].count--; else { if (SessionService::wMsg[i].country) if (SessionService::wMsg[i].mapID)//区域公告 { SceneSession *scene = SceneSessionManager::getInstance() ->getSceneByID((SessionService::wMsg[i].country<<16)+SessionService::wMsg[i].mapID); if (scene) { Cmd::Session::t_broadcastScene_SceneSession send; strncpy(send.info,SessionService::wMsg[i].msg,MAX_CHATINFO); strncpy(send.GM,SessionService::wMsg[i].GM,MAX_NAMESIZE); send.mapID = (SessionService::wMsg[i].country<<16)+SessionService::wMsg[i].mapID; scene->sendCmd(&send,sizeof(send)); #ifdef _DEBUG Zebra::logger->debug("GM公告:%s:%s mapID=%u",send.GM,send.info,send.mapID); #endif } } else//国家公告 SessionChannel::sendCountryInfo(Cmd::INFO_TYPE_SCROLL,SessionService::wMsg[i].country,SessionService::wMsg[i].msg); else//世界公告 SessionChannel::sendAllInfo(Cmd::INFO_TYPE_SCROLL,SessionService::wMsg[i].msg); SessionService::wMsg[i].count = SessionService::wMsg[i].interval; SessionService::wMsg[i].time--; } } if (0==SessionService::wMsg[i].time) SessionService::wMsg.erase(i); } } #if 0 if (_one_hour(currentTime)) { MailService::getMe().checkDB(); CVoteM::getMe().timer(); CCountryM::getMe().timerPerHour(); CCountryM::getMe().save(); } #endif } }