#include #include #include #include #include "RYL_AgentServerTable.h" // ·Î±× Ãâ·Â "flush" class CCMDFlush : public CConsoleCMDSingleton { protected: virtual bool DoProcess() { SERLOG0(g_Log, "Execute console command: flush"); g_Log.Flush(); CRylAdminManagerServer::GetInstance().PrintOutput("Log flush complete", 0); return true; } }; // ½ºÅ©¸³Æ® ÆÄÀÏ ´Ù½Ã ·ÎµåÇϱâ "reload_script" class CCMDReload : public CConsoleCMDSingleton { virtual bool DoProcess() { SERLOG0(g_Log, "Execute console command: reload_script"); if(!CServerInfo::GetInstance().Reload()) { CRylAdminManagerServer::GetInstance().PrintOutput("Script load failed", 0); return false; } CRylAdminManagerServer::GetInstance().PrintOutput("Script load success", 0); return true; } }; // ¼­¹ö±º ÀüºÎ ´Ù½Ã ÀçÁ¢¼Ó½Ãµµ "connect_all" class CCMDConnectAll : public CConsoleCMDSingleton { virtual bool DoProcess() { SERLOG0(g_Log, "Execute console command: connect all"); CAgentServerTable::GetInstance().InitAgentServerTable( *CRylAdminManagerServer::GetInstance().GetIOCPNet()); CRylAdminManagerServer::GetInstance().PrintOutput("Execute command: connect all", 0); return true; } }; // ƯÁ¤ ¼­¹ö±º Á¢¼Ó ½Ãµµ Ä¿¸Çµå "connect_index %d" class CCMDConnect : public CConsoleCommand { protected: virtual CConsoleCommand* Clone(const TCHAR* szCommand, size_t nCommandLength) { CCMDConnect* lpCommand = new CCMDConnect; if(0 != lpCommand) { lpCommand->m_dwServerGroupID = 0; const int MAX_COMMAND = 1024; char szLocalCommand[MAX_COMMAND]; _snprintf(szLocalCommand, MAX_COMMAND - 1, "%s", szCommand); szLocalCommand[MAX_COMMAND - 1] = 0; char* token = strtok(szLocalCommand, "\r\n\t "); if(0 != token) { token = strtok(0, "\r\n\t "); if(0 != token) { lpCommand->m_dwServerGroupID = atol(token); } } } return lpCommand; } virtual bool DoProcess() { SERLOG1(g_Log, "Execute command: connect_index %d", m_dwServerGroupID); CAgentServerTable::GetInstance().ConnectToAgentServer( *CRylAdminManagerServer::GetInstance().GetIOCPNet(), m_dwServerGroupID); const char* szText = "Execute command: connect_index"; CRylAdminManagerServer::GetInstance().PrintOutput( szText, static_cast(strlen(szText))); return true; } virtual bool Destroy() { delete this; return true; } private: unsigned long m_dwServerGroupID; };