/////////////////////////////////////////////////////////////////////////////////////////////// // // LoginSocket Class // // Last Update : 2002. 8.28 // /////////////////////////////////////////////////////////////////////////////////////////////// #ifndef _LoginSocket #define _LoginSocket // Àü¹æ ÂüÁ¶ struct SERVER_LIST; #include "NetBase.h" const unsigned long WM_LOGIN_SOCKET = RegisterWindowMessage("WM_LOGIN_SOCKET"); /////////////////////////////////////////////////////////////////////////////////////////////// // // Ŭ·¡½º Á¤ÀÇ // /////////////////////////////////////////////////////////////////////////////////////////////// class LoginSocket : public NetBase { private: HWND m_hMainWnd; IN_ADDR m_RegAddress; int m_ConnectServer; public: typedef enum AuthFlag { AuthFlag_RegDB = 0x8000, AuthFlag_Email = 0x4000 }; typedef enum CO_SRV { CO_LOGIN = 0, CO_AUTH = 1 }; LoginSocket(HWND hWnd_In); virtual ~LoginSocket(void); inline IN_ADDR GetRegAddress() { return m_RegAddress; } inline char* GetRegString() { return inet_ntoa(m_RegAddress); } inline int GetConnectServer() { return m_ConnectServer; } bool ConnectToLoginServer(char* Address_In); bool ConnectToAuthServer(void); bool Disconnect(void); bool SendSysPing(void); bool AuthAccount(char* UserID_In, char* UserPW_In, DWORD ClientVer_In, unsigned short CnFlag_In, unsigned short Flag_In = 0); bool ServerList(DWORD ClientVersion_In); bool ServerGroup(unsigned char Group_In); bool PatchAddress(DWORD ServerID_In); DWORD HandleAuthAccount(char *pBuffer_In, DWORD *SessionID_Out, DWORD *UserID_Out); DWORD HandleServerList(char *pBuffer_In, DWORD *UserID_Out, SERVER_LIST* lpServerList_Out); DWORD HandleServerGroup(char *pBuffer_In, DWORD *ServerID_Out); DWORD HandlePatchAddress(char *pBuffer_In, DWORD *ClientVer_Out, char *PatchAddress_Out); }; #endif