本文整理汇总了C++中nfmsg::ServerInfoReport::server_type方法的典型用法代码示例。如果您正苦于以下问题:C++ ServerInfoReport::server_type方法的具体用法?C++ ServerInfoReport::server_type怎么用?C++ ServerInfoReport::server_type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类nfmsg::ServerInfoReport
的用法示例。
在下文中一共展示了ServerInfoReport::server_type方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnServerReport
void NFCMasterNet_ServerModule::OnServerReport(const NFSOCK nFd, const int msgId, const char* buffer, const uint32_t nLen)
{
NFGUID xGUID;
NFMsg::ServerInfoReport msg;
if (!m_pNetModule->ReceivePB(msgId, buffer, nLen, msg, xGUID))
{
return;
}
std::shared_ptr<ServerData> pServerData;
if (msg.server_type() == NF_SERVER_TYPES::NF_ST_LOGIN)
{
pServerData = mLoginMap.GetElement(msg.server_id());
if (!pServerData)
{
pServerData = std::shared_ptr<ServerData>(new ServerData());
mLoginMap.AddElement(msg.server_id(), pServerData);
}
}
else if (msg.server_type() == NF_SERVER_TYPES::NF_ST_WORLD)
{
pServerData = mWorldMap.GetElement(msg.server_id());
if (!pServerData)
{
pServerData = std::shared_ptr<ServerData>(new ServerData());
mWorldMap.AddElement(msg.server_id(), pServerData);
}
}
else if (msg.server_type() == NF_SERVER_TYPES::NF_ST_PROXY)
{
pServerData = mProxyMap.GetElement(msg.server_id());
if (!pServerData)
{
pServerData = std::shared_ptr<ServerData>(new ServerData());
mProxyMap.AddElement(msg.server_id(), pServerData);
}
}
else if (msg.server_type() == NF_SERVER_TYPES::NF_ST_GAME)
{
pServerData = mGameMap.GetElement(msg.server_id());
if (!pServerData)
{
pServerData = std::shared_ptr<ServerData>(new ServerData());
mGameMap.AddElement(msg.server_id(), pServerData);
}
}
else if (msg.server_type() == NF_SERVER_TYPES::NF_ST_AI)
{
pServerData = mGameMap.GetElement(msg.server_id());
if (!pServerData)
{
pServerData = std::shared_ptr<ServerData>(new ServerData());
mGameMap.AddElement(msg.server_id(), pServerData);
}
}
//udate status
pServerData->nFD = nFd;
*(pServerData->pData) = msg;
//std::cout << "ServerReport:"<<msg.server_name() << std::endl;
}