⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 idmanager.h

📁 HGE 2D游戏引擎制作的一个演示
💻 H
字号:
//=================微妙的平衡=================//

// ID池,一方面提供本地临时IP地址,另一方面提供根据IP地址反查会话指针的功能
#pragma once

#define ID_MAX_COUNT	0xFFFF

#define LPPIDManager	IDManager**
#define LPIDManager		IDManager*
#define CLIDManager		IDManager

class IDManager
{
public:
	IDManager(void);
	virtual ~IDManager(void);

protected:
	WORD m_wNextID;							//下一个要交付的ID指针(实际是数组下标)
	WORD m_wNewID;							//刚回收的ID指针,数组下标

	WORD *m_pIDPool;						//ID池,65536个
	void **m_pPtrPool;						//指针池,与ID对应的,以利于反查

public:
	BOOL InitIDPool();						//初始化ID池
	WORD GetIDFromPool(void *pClient);		//获取一个有效ID号码,直接返回此ID
	void RecoveID(WORD id);					//回收一个ID
	void* GetClientFromID(DWORD id);		//根据id反查指针
	BOOL SwapIDPtr(DWORD sID,DWORD tID);	//交换ID指针
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -