Esempio n. 1
0
        private bool OnGetServerListRes(NetCommand command)
        {
            byte nServerCount;

            if (command.ReadByte(out nServerCount) == false)
            {
                return(false);
            }

            TRANS_SERVERLISTNODE[] arrServerListNode = new TRANS_SERVERLISTNODE[nServerCount];
            for (int i = 0; i < nServerCount; ++i)
            {
                if (command.ReadString(out arrServerListNode[i].strServerName) == false)
                {
                    return(false);
                }
                if (command.ReadByte(out arrServerListNode[i].nServerType) == false)
                {
                    return(false);
                }
                if (command.ReadInt32(out arrServerListNode[i].nWorldID) == false)
                {
                    return(false);
                }
                if (command.ReadInt32(out arrServerListNode[i].nServerID) == false)
                {
                    return(false);
                }
            }

            UInt64 nSessionID = command.SessionID;

            MachineInfo refMachineInfo = m_refServerMonitorClient.refMachineInfoMgr.Find(nSessionID);

            if (null == refMachineInfo)
            {
                return(false);
            }

            m_refServerMonitorClient.ClearServerInfo(refMachineInfo.GetName());
            for (int i = 0; i < nServerCount; ++i)
            {
                m_refServerMonitorClient.AddServerInfo(refMachineInfo.GetName(), ref arrServerListNode[i]);
            }


            ServerInfoMgr refServerInfoMgr = m_refServerMonitorClient.refMachineInfoMgr.GetServerInfoMgr(refMachineInfo.GetName());

            string[] arrServerNames;
            refServerInfoMgr.GetAllServerName(out arrServerNames);
            m_refCommandSender.SendRequestServerInfo(nSessionID, arrServerNames);
            return(true);
        }
Esempio n. 2
0
        public void Update(float fDelta)
        {
            if (m_timeRegulator.IsReady(fDelta) == false)
            {
                return;
            }

            LinkedListNode <MachineInfo> node = m_refMachineInfoMgr.MachineInfoList.First;

            for (; node != null; node = node.Next)
            {
                if (false == node.Value.IsConnected)
                {
                    continue;
                }

                ServerInfoMgr refServerInfoMgr = node.Value.ServerInfoMgr;
                string[]      arrServerNames;
                refServerInfoMgr.GetAllServerName(out arrServerNames);

                if (arrServerNames.Length == 0)
                {
                    continue;
                }

                m_refCommandSender.SendRequestServerInfo(node.Value.m_nSessionID, arrServerNames);
            }
        }
        private bool OnMonitoringLog(NetCommand command)
        {
            string[] arrServerName = new string[1];

            if (command.ReadString(out arrServerName[0]) == false)
            {
                return(false);
            }

            UInt64 nSessionID = command.SessionID;

            if (m_refCommandSender.SendRequestServerInfo(nSessionID, arrServerName) == false)
            {
                return(false);
            }

            return(true);
        }