📄 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
//--------------------------------------------------------------------------
// 辑滚 沥焊甫 啊瘤绊 乐绰 努贰胶
// 沥焊甫 肺靛窍瘤 臼绰促.
// 辑滚包访胶鸥飘档 窍瘤 臼绰促.
//--------------------------------------------------------------------------
#include <HashTable.h>
enum eSERVER_KIND
{
eSK_NONE,
eSK_DIST = 1,
eSK_AGENT = 2,
eSK_MAP = 3,
};
class CServerTable : public CYHHashTable<SERVERINFO>
{
/*
#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<MAX_MAP_NUM; i++)
{
if(m_MapIDMapNum[i] == Port)
return i;
}
return 0;
}
#endif //__AGENTSERVER__*/
DWORD GetMaxServerConnectionIndex(){return m_MaxServerConnectionIndex;}
void SetMaxServerConnectionIndex(DWORD val){ m_MaxServerConnectionIndex=val; }
SERVERINFO* GetFastServer(WORD ServerKind);
BOOL GetFastServer(WORD ServerKind, char* pOutIP,WORD* pOutPort);
protected:
SERVERINFO * m_pSelfServerInfo;
SERVERINFO * m_pMSServerInfo;
};
//extern char * SERVER_KIND_STR[];
extern CServerTable * g_pServerTable;
#endif // !defined(AFX_SERVERTABLE_H__C42B519F_767C_4291_B2DA_5F077251C100__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -