#ifndef __MessengerMsg__ #define __MessengerMsg__ enum TMsgIDTable { idBegin, idLoginReq, idLoginAns, idLogoutReq, idLogoutAns, idKeepAliveSignal, idEnd }; #define MEMBERID_LEN 16 #define PASSWORD_LEN 32 #define CLIENTID_LEN 8 class CLoginReq { public: int nMsgID; char szMemberID[MEMBERID_LEN + 1]; // ·Î±×ÀÎ ID char szPassword[PASSWORD_LEN + 1]; // ºñ¹Ð¹øÈ£ (MD5 Hash) char szClientID[CLIENTID_LEN]; // Ŭ¶óÀ̾ðÆ® ID (·£´ýÀ¸·Î »ý¼ºÇÑ 8¹ÙÀÌÆ® °ª) public: CLoginReq(void) : nMsgID(idLoginReq) { } }; class CLoginAns { public: int nMsgID; int nResult; // ·Î±×ÀÎ °á°ú (0: ¼º°ø, ±× ¿ÜÀÇ °ª: ½ÇÆÐ) int nSessionKey; // CLoginReq::szClientID¸¦ ÀÌ¿ëÇØ ¼­¹ö¿¡¼­ »ý¼ºÇÑ ID // Ŭ¶óÀ̾ðÆ®´Â nSessionKey¸¦ ÀúÀåÇÑ ÈÄ ¼­¹ö·Î ¸Þ½ÃÁö¸¦ º¸³¾ ¶§ // ÀÌ °ªµµ °°ÀÌ º¸³»¾ß ÇÑ´Ù. public: CLoginAns(void) : nMsgID(idLoginAns) { } }; class CLogoutReq { public: int nMsgID; int nSessionKey; // CLoginAns::nSessionKey public: CLogoutReq(void) : nMsgID(idLogoutReq) { } }; class CLogoutAns { public: int nMsgID; int nResult; // ·Î±×¾Æ¿ô °á°ú (0: ¼º°ø, ±× ¿ÜÀÇ °ª: ½ÇÆÐ) public: CLogoutAns(void) : nMsgID(idLogoutAns) { } }; // Ŭ¶óÀ̾ðÆ® Ãø¿¡¼­ ¼­¹öÂÊÀ¸·Î Áö¼ÓÀûÀ¸·Î º¸³»¾ßÇÏ´Â ¸Þ½ÃÁö class CKeepAliveSignal { public: int nMsgID; int nSessionKey; // CLoginAns::nSessionKey public: CKeepAliveSignal(void) : nMsgID(idKeepAliveSignal) { } }; #endif