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

📄 packethandler.h

📁 奇迹世界 部分源代码奇迹世界 部分源代码奇迹世界 部分源代码
💻 H
字号:
#ifndef __PACKET_HANDLER_H__
#define __PACKET_HANDLER_H__

#pragma once

class Player;
class ServerSession;
//=======================================================================================================================
/// IOCPNetwork葛碘俊辑 坷绰 菩哦甸阑 贸府窍扁 困茄 努贰胶
/**
	@remarks
			- 辑滚埃狼 墨抛绊府啊 吝汗瞪 荐 乐绊 傈崔窍绰 单捞磐 屈侥捞 促福骨肺 唱串
	@note
			- 货肺款 辆幅狼 努扼捞攫飘唱 辑滚狼 楷搬捞 惯积窍搁 干滚甫 眠啊秦具 茄促. 
			- 泅犁 楷搬 :DBProxy, Master, Client
*/
//=======================================================================================================================
#include <Singleton.h>
#include <FunctionMap.h>
#include <PacketStruct.h>
using namespace util;


class PacketHandler : public Singleton<PacketHandler>
{
	typedef VOID (*fnHandler)( ServerSession * pServer, MSG_BASE * pMsg, WORD wSize );
	//typedef VOID (*fnHandler_CG)( Player * pPlayer, MSG_BASE * pMsg, WORD wSize );

public:
	PacketHandler();
	~PacketHandler();

	BOOL						RegisterHandler_DG();
	//BOOL						RegisterHandler_CG();
	BOOL						RegisterHandler_GM();
	BOOL						RegisterHandler_AG();
	BOOL						RegisterHandler_GZ();

	VOID						ParsePacket_DG( ServerSession * pServer, MSG_BASE * pMsg, WORD wSize );
	//VOID						ParsePacket_CG( Player * pPlayer, MSG_BASE * pMsg, WORD wSize );
	VOID						ParsePacket_GM( ServerSession * pServer, MSG_BASE * pMsg, WORD wSize );
	VOID						ParsePacket_AG( ServerSession * pServer, MSG_BASE * pMsg, WORD wSize );
	VOID						ParsePacket_GZ( ServerSession * pServer, MSG_BASE * pMsg, WORD wSize );

private:

	BOOL						AddHandler_DG( BYTE category, BYTE protocol, fnHandler fnHandler );
	//BOOL						AddHandler_CG( BYTE category, BYTE protocol, fnHandler_CG fnHandler );
	BOOL						AddHandler_GM( BYTE category, BYTE protocol, fnHandler fnHandler );
	BOOL						AddHandler_AG( BYTE category, BYTE protocol, fnHandler fnHandler );
	BOOL						AddHandler_GZ( BYTE category, BYTE protocol, fnHandler fnHandler );

	struct FUNC_DG : public BASE_FUNC
	{
		fnHandler				m_fnHandler;
	};
	struct FUNC_GM : public BASE_FUNC
	{
		fnHandler				m_fnHandler;
	};
	struct FUNC_AG : public BASE_FUNC
	{
		fnHandler				m_fnHandler;
	};
	struct FUNC_GZ : public BASE_FUNC
	{
		fnHandler				m_fnHandler;
	};

	FunctionMap					m_FunctionMap_DG;
	FunctionMap					m_FunctionMap_CG;
	FunctionMap					m_FunctionMap_GM;
	FunctionMap					m_FunctionMap_AG;
	FunctionMap					m_FunctionMap_GZ;
};


#endif // __PACKET_HANDLER_H__

⌨️ 快捷键说明

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