本文整理汇总了C++中ServerSocket::numOnlines方法的典型用法代码示例。如果您正苦于以下问题:C++ ServerSocket::numOnlines方法的具体用法?C++ ServerSocket::numOnlines怎么用?C++ ServerSocket::numOnlines使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ServerSocket
的用法示例。
在下文中一共展示了ServerSocket::numOnlines方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1:
void ConsoleProfiler::onTimer1000()
{
ServerSocket* logicServer = GameServer::getInstance()->getLogicServer();
ServerSocket* consoleServer = GameServer::getInstance()->getConsoleServer();
DBQueue* dbQueue = GameServer::getInstance()->getDBQueue();
ByteArray packet;
MessageHead head;
head.command = CMD_CONSOLE_SUBSCRIBE;
head.pack(packet);
ConsoleSubscribeMessage msg;
msg.memoryPeak = Profiler::getPeakRSS();
msg.memoryUsed = Profiler::getCurrentRSS();
msg.numDBRequests = dbQueue->getQueueLength();
msg.numOnline = logicServer->numOnlines();
#ifdef _WIN32
msg.ioDataPoolSize = logicServer->getIODataPoolSize();
msg.ioDataPostedSize = logicServer->getIODataPostedSize();
#endif
msg.pack(packet);
head.packSize = packet.getSize();
packet.position = 0;
head.pack(packet);
auto iter = allSubscribe.begin();
while (iter != allSubscribe.end())
{
long long clientID = *iter;
auto client = consoleServer->getClient(clientID);
if (!client)
{
iter = allSubscribe.erase(iter);
}
else
{
client->send(packet);
client->flush();
++iter;
}
}
}