📄 packethandler.cpp
字号:
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_ALL_REQ_DBR );
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_CHAR_ITEM_CMD);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_SKILL_CMD);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_QUICK_CMD);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_STYLE_CMD);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_QUEST_CMD);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_WAREHOUSE_CMD);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_SYN);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_CMD);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_DBR);
HANDLER_DG(DG_CHARINFO,DG_CHARINFO_UDPATE_CMD_DBR);
return TRUE;
}
BOOL PacketHandler::ResisterHandler_MX()
{
#ifdef _USING_ACCOUNT_DBPROXY_SERVER
if( !AddHandler_MX( MX_CONNECTION, MX_CONNECTION_REQ_SERVER_INFO_SYN, Handler_MX::OnMX_CONNECTION_REQ_SERVER_INFO_SYN ) )
return FALSE;
if( !AddHandler_MX( MX_CONNECTION, MX_CONNECTION_REQ_SERVER_INFO_DBR, Handler_MX::OnMX_CONNECTION_REQ_SERVER_INFO_DBR ) )
return FALSE;
#else
if( !AddHandler_MX( DM_CONNECTION, DM_CONNECTION_SERVER_INFO_CMD, Handler_MX::OnDM_CONNECTION_SERVER_INFO_CMD ) )
return FALSE;
#endif
return TRUE;
}
BOOL PacketHandler::ResisterHandler_DW()
{
#define HANDLER_DW( c, p ) if( !AddHandler_DW( c, p, Handler_FromWorldServer::On##p ) ) return FALSE
// 立加秦 甸绢 坷绰 率俊辑 焊晨 傍烹 菩哦
if( !AddHandler_DW( SERVERCOMMON, SERVERCOMMON_HEARTBEAT, Handler_Common::OnSERVERCOMMON_HEARTBEAT ) )
return FALSE;
HANDLER_DW( DW_FRIEND, DW_FRIEND_GETLIST_SYN ); //< 模备 格废
HANDLER_DW( DW_FRIEND, DW_FRIEND_ADD_SYN ); //< A->B add friend
HANDLER_DW( DW_FRIEND, DW_FRIEND_DEL_SYN ); //< 模备 昏力
HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_SYN ); //< 蜡历 瞒窜
HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_FREE_SYN ); //< 瞒窜 昏力
HANDLER_DW( DW_FRIEND, DW_FRIEND_GETLIST_DBR ); //< 模备 格废
HANDLER_DW( DW_FRIEND, DW_FRIEND_ADD_DBR ); //< A->B add friend
HANDLER_DW( DW_FRIEND, DW_FRIEND_DEL_DBR ); //< 模备 昏力
HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_DBR ); //< 蜡历 瞒窜
HANDLER_DW( DW_FRIEND, DW_FRIEND_BLOCK_FREE_DBR ); //< 瞒窜 昏力
return TRUE;
}
BOOL PacketHandler::ResisterHandler_DZ()
{
#define HANDLER_DZ( c, p ) if( !AddHandler_DZ( c, p, Handler_FromGuildServer::On##p ) ) return FALSE
// 立加秦 甸绢 坷绰 率俊辑 焊晨 傍烹 菩哦
if( !AddHandler_DZ( SERVERCOMMON, SERVERCOMMON_HEARTBEAT, Handler_Common::OnSERVERCOMMON_HEARTBEAT ) )
return FALSE;
HANDLER_DZ(DZ_GUILD, DZ_GUILD_SELECT_GUILD_SYN );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_SELECT_GUILD_DBR );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_SELECT_GUILD_MEMBER_DBR );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_CREATE_GUILD_SYN );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_CREATE_GUILD_DBR );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_DESTROY_GUILD_SYN );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_DESTROY_GUILD_DBR );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_JOIN_GUILD_SYN );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_JOIN_GUILD_DBR );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_WITHDRAW_GUILD_SYN );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_WITHDRAW_GUILD_DBR );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_CHANGE_POSITION_SYN );
HANDLER_DZ(DZ_GUILD, DZ_GUILD_CHANGE_POSITION_DBR );
return TRUE;
}
BOOL PacketHandler::AddHandler_AD( BYTE category, BYTE protocol, fnHandler fnHandler )
{
FUNC_AD * pFuncInfo = new FUNC_AD;
pFuncInfo->m_dwFunctionKey = MAKEWORD( category, protocol );
pFuncInfo->m_fnHandler = fnHandler;
return m_pFuncMap_AD->Add( pFuncInfo );
}
BOOL PacketHandler::AddHandler_DG( BYTE category, BYTE protocol, fnHandler fnHandler )
{
FUNC_DG * pFuncInfo = new FUNC_DG;
pFuncInfo->m_dwFunctionKey = MAKEWORD( category, protocol );
pFuncInfo->m_fnHandler = fnHandler;
return m_pFuncMap_DG->Add( pFuncInfo );
}
BOOL PacketHandler::AddHandler_MX( BYTE category, BYTE protocol, fnHandler fnHandler )
{
FUNC_MX * pFuncInfo = new FUNC_MX;
pFuncInfo->m_dwFunctionKey = MAKEWORD( category, protocol );
pFuncInfo->m_fnHandler = fnHandler;
return m_pFuncMap_MX->Add( pFuncInfo );
}
BOOL PacketHandler::AddHandler_DW( BYTE category, BYTE protocol, fnHandler fnHandler )
{
FUNC_DW * pFuncInfo = new FUNC_DW;
pFuncInfo->m_dwFunctionKey = MAKEWORD( category, protocol );
pFuncInfo->m_fnHandler = fnHandler;
return m_pFuncMap_DW->Add( pFuncInfo );
}
BOOL PacketHandler::AddHandler_DZ( BYTE category, BYTE protocol, fnHandler fnHandler )
{
FUNC_DZ * pFuncInfo = new FUNC_DZ;
pFuncInfo->m_dwFunctionKey = MAKEWORD( category, protocol );
pFuncInfo->m_fnHandler = fnHandler;
return m_pFuncMap_DZ->Add( pFuncInfo );
}
VOID PacketHandler::ParsePacket_AD( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
if( pMsg->m_byCategory == 0xff )
{
}
FUNC_AD * pFuncInfo = (FUNC_AD *)m_pFuncMap_AD->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );
if( pFuncInfo == NULL )
{
SUNLOG(eFULL_LOG, "[PacketHandler::ParsePacket_AD] Invalid packet! AD Category[%u] Protocol[%u] ", pMsg->m_byCategory, pMsg->m_byProtocol );
ASSERT( ! "Invalid packet from Agent Server!" ) ;
return ;
}
pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}
VOID PacketHandler::ParsePacket_DG( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
if( pMsg->m_byCategory == 0xff )
{
}
FUNC_DG * pFuncInfo = (FUNC_DG *)m_pFuncMap_DG->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );
if( pFuncInfo == NULL )
{
SUNLOG(eFULL_LOG, "Invalid packet! DG Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
ASSERT( ! "Invalid packet from Game Server!" ) ;
return ;
}
pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}
VOID PacketHandler::ParsePacket_MX( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
if( pMsg->m_byCategory == 0xff )
{
}
FUNC_MX * pFuncInfo = (FUNC_MX *)m_pFuncMap_MX->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );
if( pFuncInfo == NULL )
{
SUNLOG(eFULL_LOG, "[PacketHandler::ParsePacket_MX] Invalid packet! MX Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
ASSERT( ! "Invalid packet from Master Server!" ) ;
return ;
}
pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}
VOID PacketHandler::ParsePacket_DW( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
if( pMsg->m_byCategory == 0xff )
{
}
FUNC_DW * pFuncInfo = (FUNC_DW *)m_pFuncMap_DW->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );
if( pFuncInfo == NULL )
{
SUNLOG(eFULL_LOG, "[PacketHandler::ParsePacket_DW] Invalid packet! AD Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
ASSERT( ! "Invalid packet from World Server!" ) ;
return ;
}
pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}
VOID PacketHandler::ParsePacket_DZ( ServerSession * pSession, MSG_BASE * pMsg, WORD wSize )
{
if( pMsg->m_byCategory == 0xff )
{
}
FUNC_DZ * pFuncInfo = (FUNC_DZ *)m_pFuncMap_DZ->Find( MAKEWORD( pMsg->m_byCategory, pMsg->m_byProtocol ) );
if( pFuncInfo == NULL )
{
SUNLOG(eFULL_LOG, "[PacketHandler::ParsePacket_DZ] Invalid packet! DZ Category[%d] Protocol[%d] ", pMsg->m_byCategory, pMsg->m_byProtocol );
ASSERT( ! "Invalid packet from Guild Server!" ) ;
return ;
}
pFuncInfo->m_fnHandler( pSession, pMsg, wSize );
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -