www.pudn.com > [Server]Distribute.rar > ServerTable.h
// ServerTable.h: interface for the CServerTable class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_SERVERTABLE_H__C42B519F_767C_4291_B2DA_5F077251C100__INCLUDED_) #define AFX_SERVERTABLE_H__C42B519F_767C_4291_B2DA_5F077251C100__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 //-------------------------------------------------------------------------- // ¼¹ö Á¤º¸¸¦ °¡Áö°í Àִ Ŭ·¡½º // Á¤º¸¸¦ ·ÎµåÇÏÁö ¾Ê´Â´Ù. // ¼¹ö°ü·Ã½ºÅ¸Æ®µµ ÇÏÁö ¾Ê´Â´Ù. //-------------------------------------------------------------------------- #includeenum eSERVER_KIND { eSK_NONE, eSK_DIST = 1, eSK_AGENT = 2, eSK_MAP = 3, }; class CServerTable : public CYHHashTable { /* #ifdef __AGENTSERVER__ WORD m_MapIDMapNum[MAX_MAP_NUM]; // MapIDµî·ÏÇÏ´Â º¯¼ö. #endif //__AGENTSERVER__*/ //DWORD m_dwMaxBucketNum; DWORD m_MaxServerConnectionIndex; public: CServerTable(); virtual ~CServerTable(); void Init(DWORD dwBucketNum); void Release(); //---- Á¤º¸ ó¸® ¸â¹ö(ÇØ½¬·Î ó¸®) SERVERINFO * FindServer(WORD Port); SERVERINFO* FindServerForConnectionIndex(DWORD dwConnectionIndex); void AddServer(SERVERINFO * info, WORD Port); SERVERINFO * RemoveServer(DWORD dwConnectionIndex); // key°¡ ¾Æ´Ô & ¸®ÅϵǴ SERVERINFO(Èü ¸Þ¸ð¸®)Áö¿ö¾ß ÇÔ SERVERINFO * RemoveServer(WORD wKey); void RemoveAllServer(); // HASH¿¡ ¹°·ÁÀÖ´Â SERVERINFO(Èü¸Þ¸ð¸®)±îÁö ´Ù Áö¿ò SERVERINFO* GetNextServer(); SERVERINFO* GetNextDistServer(); SERVERINFO* GetNextMapServer(); SERVERINFO* GetNextAgentServer(); void AddSelfServer(SERVERINFO * info); void AddMSServer(SERVERINFO * info); //---- Á¤º¸ ¾ò´Â ¸â¹ö SERVERINFO * GetSelfServer(){ return m_pSelfServerInfo; } SERVERINFO * GetMSServer(){ return m_pMSServerInfo; } SERVERINFO* GetServer(WORD ServerKind, WORD ServerNum); WORD GetServerPort(WORD ServerKind, WORD ServerNum); WORD GetServerNum(WORD ServerPort); /* #ifdef __AGENTSERVER__ void SetMapRegist(BYTE MapNum, WORD port) { m_MapIDMapNum[MapNum] = port; } WORD GetMapRegistPort(BYTE MapNum) { return m_MapIDMapNum[MapNum]; } BYTE GetMapRegistMapNum(WORD Port) { for(int i=0; i