Esempio n. 1
0
        protected override void TakeRemote()
        {
            GameSession session = paramGetter.GetSession();

            if (session == null)
            {
                TraceLog.ReleaseWrite("Session is invalid.");
                return;
            }

            string serverName = session.ProxyId;
            int    roomCount  = int.Parse(paramGetter.RequestPackage.Params["RoomCount"]);
            float  cpuLoad    = int.Parse(paramGetter.RequestPackage.Params["CpuLoad"]) / 1000f;
            float  memoryLoad = int.Parse(paramGetter.RequestPackage.Params["MemoryLoad"]) / 1000f;

            RoomServerManager.UpdateServerState(serverName, roomCount, cpuLoad, memoryLoad);
        }
        protected override void TakeRemote()
        {
            GameSession session = paramGetter.GetSession();

            if (session == null)
            {
                TraceLog.ReleaseWrite("Session is invalid.");
                return;
            }

            int    serverId = int.Parse(session.ProxyId);
            string ip       = session.RemoteAddress.Split(':')[0];
            string host     = paramGetter.RequestPackage.Params["Host"];
            int    port     = int.Parse(paramGetter.RequestPackage.Params["Port"]);
            bool   retval   = RoomServerManager.RegisterServer(serverId, ip, host, port);

            if (!retval)
            {
                TraceLog.ReleaseWrite("regist server failure [serverId]:{0} [ip]:{1} [port]:{2}", serverId, ip, port);
                session.Close();
                return;
            }
            TraceLog.ReleaseWrite("regist server success [serverId]:{0} [ip]:{1} [port]:{2} [host]:{3}", serverId, ip, port, host);
        }