void NFCLoginNet_ServerModule::OnViewWorldProcess(const int nSockIndex, const int nMsgID, const char* msg, const uint32_t nLen) { NFGUID nPlayerID; NFMsg::ReqServerList xMsg; if (!m_pNetModule->ReceivePB(nSockIndex, nMsgID, msg, nLen, xMsg, nPlayerID)) { return; } if (xMsg.type() == NFMsg::RSLT_WORLD_SERVER) { SynWorldToClient(nSockIndex); } }
int NFCLoginNet_ServerModule::OnViewWorldProcess( const NFIPacket& msg ) { NFIDENTID nPlayerID; NFMsg::ReqServerList xMsg; if (!RecivePB(msg, xMsg, nPlayerID)) { return 0; } if (xMsg.type() == NFMsg::RSLT_WORLD_SERVER) { SynWorldToClient(msg.GetFd()); } return 0; }
void NFCProxyServerNet_ServerModule::OnReqServerListProcess(const int nSockIndex, const int nMsgID, const char* msg, const uint32_t nLen) { NFGUID nPlayerID; NFMsg::ReqServerList xMsg; if (!m_pNetModule->ReceivePB(nSockIndex, nMsgID, msg, nLen, xMsg, nPlayerID)) { return; } if (xMsg.type() != NFMsg::RSLT_GAMES_ERVER) { return; } NetObject* pNetObject = m_pNetModule->GetNet()->GetNetObject(nSockIndex); if (pNetObject && pNetObject->GetConnectKeyState() > 0) { //ack all gameserver data NFMsg::AckServerList xData; xData.set_type(NFMsg::RSLT_GAMES_ERVER); NFMapEx<int, ConnectData>& xServerList = m_pProxyServerToGameModule->GetClusterModule()->GetServerList(); ConnectData* pGameData = xServerList.FirstNude(); while (NULL != pGameData) { if (ConnectDataState::NORMAL == pGameData->eState) { NFMsg::ServerInfo* pServerInfo = xData.add_info(); pServerInfo->set_name(pGameData->strName); pServerInfo->set_status(NFMsg::EServerState::EST_NARMAL); pServerInfo->set_server_id(pGameData->nGameID); pServerInfo->set_wait_count(0); } pGameData = xServerList.NextNude(); } m_pNetModule->SendMsgPB(NFMsg::EGameMsgID::EGMI_ACK_WORLD_LIST, xData, nSockIndex); } }