www.pudn.com > MirServer.rar > MirServer.h
#pragma once
#include "..\..\public\basethread.h"
#include "..\..\public\socket.h"
#include "..\..\public\support.h"
#include ".\mirclient.h"
#include "..\..\public\socketevent.h"
class CMirServer :
public CBaseThread
{
public:
CMirServer(void);
virtual ~CMirServer(void);
DWORD Proc(LPVOID lpParam);
BOOL Run(void);
protected:
CSocket m_Socket;
CONNECTION m_connLogin;
CONNECTION m_connSelChar;
CONNECTION m_connGame;
CIndexList m_Clients;
CSocketEvent m_SocketEvent;
CIntHash<2000> m_SocketHash;
SOCKET m_Sockets[2000];
CHAR m_szRecvbuffer[4096];
public:
VOID OnLoginConnection(PCONNECTION pConnection);
VOID OnSelCharConnection(PCONNECTION pConnection);
VOID OnGameConnection(PCONNECTION pConnection);
VOID OnConnection(PCONNECTION pConnection, int iType );
VOID OnError(CMirClient * pClient);
VOID OnMessage(PMIRMSG pMsg, CHAR* pszParam);
VOID End(void);
private:
static CMirServer * m_pTheServer;
public:
SERVERCONFIG m_Config;
DWORD m_dwParam;
static CMirServer* GetTheServer(void);
VOID Test(DWORD dwParam);
VOID GetIpAddress(CHAR* pszIpAddress);
BOOL CreateAccount(CHAR* pszUsername, CHAR* pszPassword, DWORD & dwError );
VOID WriteConfig(int n);
BOOL LoadCharacter(CHAR* pszAccount, SELCHARLIST* pCharlist);
BOOL SaveCharacter(CHAR* pszAccount, SELCHARLIST* pCharlist);
};