本文整理汇总了C++中nfmsg::ServerInfoReportList类的典型用法代码示例。如果您正苦于以下问题:C++ ServerInfoReportList类的具体用法?C++ ServerInfoReportList怎么用?C++ ServerInfoReportList使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ServerInfoReportList类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: OnDBServerUnRegisteredProcess
void NFCWorldNet_ServerModule::OnDBServerUnRegisteredProcess(const NFSOCK nSockIndex, const int nMsgID, const char * msg, const uint32_t nLen)
{
NFGUID nPlayerID;
NFMsg::ServerInfoReportList xMsg;
if (!m_pNetModule->ReceivePB(nMsgID, msg, nLen, xMsg, nPlayerID))
{
return;
}
for (int i = 0; i < xMsg.server_list_size(); ++i)
{
const NFMsg::ServerInfoReport& xData = xMsg.server_list(i);
mDBMap.RemoveElement(xData.server_id());
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(0, xData.server_id()), xData.server_name(), "Proxy UnRegistered");
}
}
示例2: OnGameServerUnRegisteredProcess
int NFCWorldNet_ServerModule::OnGameServerUnRegisteredProcess(const NFIPacket& msg)
{
NFIDENTID nPlayerID;
NFMsg::ServerInfoReportList xMsg;
if (!RecivePB(msg, xMsg, nPlayerID))
{
return 0;
}
for (int i = 0; i < xMsg.server_list_size(); ++i)
{
NFMsg::ServerInfoReport* pData = xMsg.mutable_server_list(i);
mGameMap.RemoveElement(pData->server_id());
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFIDENTID(0, pData->server_id()), pData->server_name(), "GameServerRegistered");
}
return 0;
}
示例3: Register
void NFCGameServerToWorldModule::Register(NFINet* pNet)
{
//成功就注册
NF_SHARE_PTR<NFILogicClass> xLogicClass = m_pLogicClassModule->GetElement("Server");
if (xLogicClass.get())
{
NFList<std::string>& xNameList = xLogicClass->GetConfigNameList();
std::string strConfigName;
for (bool bRet = xNameList.First(strConfigName); bRet; bRet = xNameList.Next(strConfigName))
{
const int nServerType = m_pElementInfoModule->GetPropertyInt(strConfigName, "Type");
const int nServerID = m_pElementInfoModule->GetPropertyInt(strConfigName, "ServerID");
if (nServerType == NF_SERVER_TYPES::NF_ST_GAME && pPluginManager->AppID() == nServerID)
{
const int nPort = m_pElementInfoModule->GetPropertyInt(strConfigName, "Port");
const int nMaxConnect = m_pElementInfoModule->GetPropertyInt(strConfigName, "MaxOnline");
const int nCpus = m_pElementInfoModule->GetPropertyInt(strConfigName, "CpuCount");
const std::string& strName = m_pElementInfoModule->GetPropertyString(strConfigName, "Name");
const std::string& strIP = m_pElementInfoModule->GetPropertyString(strConfigName, "IP");
NFMsg::ServerInfoReportList xMsg;
NFMsg::ServerInfoReport* pData = xMsg.add_server_list();
pData->set_server_id(nServerID);
pData->set_server_name(strName);
pData->set_server_cur_count(0);
pData->set_server_ip(strIP);
pData->set_server_port(nPort);
pData->set_server_max_online(nMaxConnect);
pData->set_server_state(NFMsg::EST_NARMAL);
pData->set_server_type(nServerType);
NF_SHARE_PTR<ServerData> pServerData = GetServerNetInfo(pNet);
if (pServerData)
{
int nTargetID = pServerData->nGameID;
SendToServerByPB(nTargetID, NFMsg::EGameMsgID::EGMI_GTW_GAME_REGISTERED, xMsg);
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFIDENTID(0, pData->server_id()), pData->server_name(), "Register");
}
}
}
}
}
示例4: Register
void NFCProxyServerToWorldModule::Register(NFINet* pNet)
{
NF_SHARE_PTR<NFIClass> xLogicClass = m_pClassModule->GetElement(NFrame::Server::ThisName());
if (xLogicClass)
{
const std::vector<std::string>& strIdList = xLogicClass->GetIDList();
for (int i = 0; i < strIdList.size(); ++i)
{
const std::string& strId = strIdList[i];
const int nServerType = m_pElementModule->GetPropertyInt32(strId, NFrame::Server::Type());
const int nServerID = m_pElementModule->GetPropertyInt32(strId, NFrame::Server::ServerID());
if (nServerType == NF_SERVER_TYPES::NF_ST_PROXY && pPluginManager->GetAppID() == nServerID)
{
const int nPort = m_pElementModule->GetPropertyInt32(strId, NFrame::Server::Port());
const int nMaxConnect = m_pElementModule->GetPropertyInt32(strId, NFrame::Server::MaxOnline());
const int nCpus = m_pElementModule->GetPropertyInt32(strId, NFrame::Server::CpuCount());
const std::string& strName = m_pElementModule->GetPropertyString(strId, NFrame::Server::Name());
const std::string& strIP = m_pElementModule->GetPropertyString(strId, NFrame::Server::IP());
NFMsg::ServerInfoReportList xMsg;
NFMsg::ServerInfoReport* pData = xMsg.add_server_list();
pData->set_server_id(nServerID);
pData->set_server_name(strName);
pData->set_server_cur_count(0);
pData->set_server_ip(strIP);
pData->set_server_port(nPort);
pData->set_server_max_online(nMaxConnect);
pData->set_server_state(NFMsg::EST_NARMAL);
pData->set_server_type(nServerType);
NF_SHARE_PTR<ConnectData> pServerData = GetClusterModule()->GetServerNetInfo(pNet);
if (pServerData)
{
int nTargetID = pServerData->nGameID;
GetClusterModule()->SendToServerByPB(nTargetID, NFMsg::EGameMsgID::EGMI_PTWG_PROXY_REGISTERED, xMsg);
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(0, pData->server_id()), pData->server_name(), "Register");
}
}
}
}
}
示例5: OnServerInfoProcess
void NFCProxyServerToWorldModule::OnServerInfoProcess(const int nSockIndex, const int nMsgID, const char* msg, const uint32_t nLen)
{
NFGUID nPlayerID;
NFMsg::ServerInfoReportList xMsg;
if (!NFINetModule::RecivePB(nSockIndex, nMsgID, msg, nLen, xMsg, nPlayerID))
{
return;
}
int nSize = xMsg.server_list_size();
for (int i = 0; i < nSize; ++i)
{
const NFMsg::ServerInfoReport* pData = xMsg.mutable_server_list(i);
//type
ConnectData xServerData;
xServerData.nGameID = pData->server_id();
xServerData.strIP = pData->server_ip();
xServerData.nPort = pData->server_port();
xServerData.strName = pData->server_name();
//xServerData.eState = pData->server_state();
xServerData.eServerType = (NF_SERVER_TYPE)pData->server_type();
switch (xServerData.eServerType)
{
case NF_SERVER_TYPE::NFST_GAME_SERVER:
{
m_pToGameServerClusterClient->AddServer(xServerData);
}
break;
case NF_SERVER_TYPE::NFST_WORLD_SERVER:
{
NFIClusterClientModule::AddServer(xServerData);
}
break;
default:
break;
}
}
}
示例6: OnServerInfoProcess
void NFCProxyServerToWorldModule::OnServerInfoProcess(const NFSOCK nSockIndex, const int nMsgID, const char* msg, const uint32_t nLen)
{
NFGUID nPlayerID;
NFMsg::ServerInfoReportList xMsg;
if (!NFINetModule::ReceivePB( nMsgID, msg, nLen, xMsg, nPlayerID))
{
return;
}
for (int i = 0; i < xMsg.server_list_size(); ++i)
{
const NFMsg::ServerInfoReport& xData = xMsg.server_list(i);
//type
ConnectData xServerData;
xServerData.nGameID = xData.server_id();
xServerData.strIP = xData.server_ip();
xServerData.nPort = xData.server_port();
xServerData.strName = xData.server_name();
//xServerData.eState = pData->server_state();
xServerData.eServerType = (NF_SERVER_TYPES)xData.server_type();
switch (xServerData.eServerType)
{
case NF_SERVER_TYPES::NF_ST_GAME:
{
m_pNetClientModule->AddServer(xServerData);
}
break;
case NF_SERVER_TYPES::NF_ST_WORLD:
{
m_pNetClientModule->AddServer(xServerData);
}
break;
default:
break;
}
}
}
示例7: OnLoginUnRegisteredProcess
int NFCMasterNet_ServerModule::OnLoginUnRegisteredProcess(const int nSockIndex, const int nMsgID, const char* msg, const uint32_t nLen)
{
NFGUID nPlayerID;
NFMsg::ServerInfoReportList xMsg;
if (!RecivePB(nSockIndex, nMsgID, msg, nLen, xMsg, nPlayerID))
{
return 0;
}
for (int i = 0; i < xMsg.server_list_size(); ++i)
{
NFMsg::ServerInfoReport* pData = xMsg.mutable_server_list(i);
mLoginMap.RemoveElement(pData->server_id());
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(0, pData->server_id()), pData->server_name(), "LoginUnRegistered");
}
return 0;
}
示例8: SynWorldToLogin
void NFCMasterNet_ServerModule::SynWorldToLogin()
{
NFMsg::ServerInfoReportList xData;
NF_SHARE_PTR<ServerData> pServerData = mWorldMap.First();
while (pServerData.get())
{
NFMsg::ServerInfoReport* pData = xData.add_server_list();
*pData = *(pServerData->pData);
pServerData = mWorldMap.Next();
}
//广播给所有loginserver
pServerData = mLoginMap.First();
while (pServerData.get())
{
m_pNetModule->SendMsgPB(NFMsg::EGameMsgID::EGMI_STS_NET_INFO, xData, pServerData->nFD);
pServerData = mLoginMap.Next();
}
}
示例9: OnServerInfoProcess
void NFCWorldNet_ServerModule::OnServerInfoProcess(const NFSOCK nSockIndex, const int nMsgID, const char * msg, const uint32_t nLen)
{
NFGUID nPlayerID;
NFMsg::ServerInfoReportList xMsg;
if (!NFINetModule::ReceivePB(nMsgID, msg, nLen, xMsg, nPlayerID))
{
return;
}
for (int i = 0; i < xMsg.server_list_size(); ++i)
{
const NFMsg::ServerInfoReport& xData = xMsg.server_list(i);
if (xData.server_type() == NF_SERVER_TYPES::NF_ST_WORLD)
{
NF_SHARE_PTR<ServerData> pServerData = mWorldMap.GetElement(xData.server_id());
if (!pServerData)
{
pServerData = NF_SHARE_PTR<ServerData>(NF_NEW ServerData());
mWorldMap.AddElement(xData.server_id(), pServerData);
}
pServerData->nFD = nSockIndex;
*(pServerData->pData) = xData;
m_pLogModule->LogNormal(NFILogModule::NLL_INFO_NORMAL, NFGUID(0, xData.server_id()), xData.server_name(), "GameServerRegistered");
}
}
//sync to proxy
SynWorldToProxy();
//sync to game
SynWorldToGame();
}