www.pudn.com > 221315556.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); 
};