void OnNetMsg( NetSocket& rSocket,NetMsgHead* pMsg ,int32 nSize ) { ClientPlayer* gPlayer = ClientPlayerMgr::Instance()->GetClientPlayer(rSocket); // 解密处理 static char msgBuffer[65536]; memcpy(&msgBuffer[0], pMsg,nSize); Encrypt::XorCode(nSize,gPlayer->GetEncryptKey(),msgBuffer,nSize); pMsg = ( NetMsgHead*)&msgBuffer[0]; NetMsgHandlerMapIter iter = gMsgHeandlerMap.find( pMsg->nType ); if ( iter == gMsgHeandlerMap.end() ) { printf("Not find Pro:%d\n", pMsg->nType); ASSERT(0); return ; } NetMsgHandler pHandler = iter->second; printf("OnNetMsg %d %s \n", pMsg->nType,pHandler.strBrief.c_str()); ClientPlayer* pClientPlayer = ClientPlayerMgr::Instance()->GetClientPlayer(rSocket); (pHandler.pFun)(pClientPlayer,pMsg ,nSize); }
void OnNetMsg( NetSocket& rSocket,NetMsgHead* pMsg ,int32 nSize ) { ClientPlayer* gPlayer = ClientPlayerMgr::Instance()->GetClientPlayer(rSocket); // 解密处理 static char msgBuffer[65536]; memcpy(&msgBuffer[0], pMsg,nSize); Encrypt::XorCode(nSize,gPlayer->GetEncryptKey(),msgBuffer,nSize); pMsg = ( NetMsgHead*)&msgBuffer[0]; NetMsgHandlerMapIter iter = gMsgHeandlerMap.find( pMsg->nType ); if ( iter == gMsgHeandlerMap.end() ) { FLOG_INFO("Not find Pro:%d", pMsg->nType); ASSERT(0); } else { ClientPlayer* pClientPlayer = ClientPlayerMgr::Instance()->GetClientPlayer(rSocket); (iter->second.pFun)(pClientPlayer,pMsg ,nSize); FLOG_INFO("OnNetMsg %d", pMsg->nType); } }