#include "stdafx.h" #include "LogDispatch.h" #include #include #include #include CLogDispatch::CLogDispatch(CSession& Session) : CRylServerDispatch(Session, 0xFFFFFFFF) { } CLogDispatch::~CLogDispatch() { } void CLogDispatch::Connected() { SendLogPacket::ServerLogin(m_SendStream, CServerSetup::GetInstance().GetServerID()); } void CLogDispatch::Disconnected() { ERRLOG0(g_Log, "·Î±×¼­¹ö¿ÍÀÇ ¿¬°áÀÌ ²÷¾îÁ³½À´Ï´Ù."); GetDispatchTable().RemoveDispatch(this); } bool CLogDispatch::DispatchPacket(PktBase* lpPktBase) { bool bResult = false; switch(lpPktBase->GetCmd()) { case CmdSysServerLogin: bResult = ProcessServerLoginAck(lpPktBase); break; default: bResult = true; ERRLOG2(g_Log, "DP:0x%p/Cmd:0x%02x/Unknown Logpacket", this, lpPktBase->GetCmd()); break; } if(!bResult) { ERRLOG2(g_Log, "DP:0x%p/Cmd:0x%02x/Logpacket Process failed", this, lpPktBase->GetCmd()); } return true; } bool CLogDispatch::ProcessServerLoginAck(PktBase* lpPktBase) { // ¹ÞÀº µ¥ÀÌÅÍ´Â º°·Î ¾µ¸ð°¡ ¾øÀ½.. if(0 == lpPktBase->GetError()) { DETLOG0(g_Log, "·Î±×¼­¹ö¿Í ¿¬°áµÇ¾ú½À´Ï´Ù."); GetDispatchTable().SetDispatch(this); return true; } ERRLOG0(g_Log, "·Î±×¼­¹ö¿Í ¿¬°á¿¡ ½ÇÆÐÇß½À´Ï´Ù."); return false; }