#pragma once #include "NaveNet/NFNet.h" #include "NaveNet/NFNetClientS.h" #include "Packet.h" class CNetAuth : public NaveNet::NFNetClientS { public: CNetAuth(void); ~CNetAuth(void); public: ////////////////////////////////////////////////////////////////////// // Socket -> Client·Î ÆÐŶÀ» Àü´ÞÇϱâ À§ÇØ Á¸ÀçÇÏ´Â ListenerÀÌ´Ù. ////////////////////////////////////////////////////////////////////// class IEventListener { public: virtual ~IEventListener() {} virtual void EventIRC(CHAR* strCmd, CHAR* strMsg)=0; virtual void EventCMD(DWORD dwCmd, DWORD dwValue)=0; virtual void EventIPLIST(CHAR Type, CHAR Page, SHORT Count, char* lpIPList_Out)=0; virtual void EventConnect(BOOL bConnect)=0; virtual void EventSocketClose()=0; }; void SetEventListener(IEventListener* event) { m_event = event; } public: virtual void Update(); ////////////////////////////////////////////////////////////////////// // ToServer¿¡ Á¤ÀÇµÈ ÆÐŶ»ç¿ë // Àü´Þ¹ÞÀº ÆÐŶÀÌ Ã³¸®µÉ ÆÐŶÇÔ¼ö Çü½ÄÀº Recv_ÆÐŶÀ̸§(CHAR* Packet, int Len) À̵ȴÙ. ////////////////////////////////////////////////////////////////////// void Send_IRC(const char* strCommand, const char* strMsg); void Send_AUTH(DWORD dwType, const char* strKey); void Send_CMD(DWORD dwCmd, DWORD dwValue); void Disconnect(); private: ////////////////////////////////////////////////////////////////////// // CNetAuth¿¡¼­ »ç¿ëµÇ´Â º¯¼ö¸ðÀ½ ////////////////////////////////////////////////////////////////////// // Nave::Sync::CSync m_Cs; // Send¸¦ ÇϱâÀ§ÇØ ÆÐŶÀ» ¸¸µé¶§ »ç¿ëµÈ´Ù. NaveNet::NFPacket m_SendPacket; IEventListener* m_event; private: void (CNetAuth::*OnMsgMap[MaxPacket])(CHAR* Packet, int Len); // ¼ÒÄÏ ºÎºÐ¿¡¼­ ¶³¾îÁö´Â À̺¥Æ®¸¦ ó¸®ÇÒ¶§ void OnSocketEvent(DWORD dID, DWORD dEvent); ////////////////////////////////////////////////////////////////////// // FromServer¿¡ Á¤ÀÇµÈ ÆÐŶ»ç¿ë (Ŭ¶óÀÌ¾ðÆ®´Â »ó°ü¾ø´Ù.) // Àü´Þ¹ÞÀº ÆÐŶÀÌ Ã³¸®µÉ ÆÐŶÇÔ¼ö Çü½ÄÀº Recv_ÆÐŶÀ̸§(CHAR* Packet, int Len) À̵ȴÙ. ////////////////////////////////////////////////////////////////////// // IRC Packet ó¸®ÇÔ¼ö void Parsed_CMD(CHAR* Packet, int Len); void Parsed_IPLIST(CHAR* Packet, int Len); void Parsed_Dummy(CHAR* Packet, int Len); void Parsed_IRC(CHAR* Packet, int Len); void ProcessPacket(NaveNet::NFPacket* pPacket, int PacketLen); };