Beispiel #1
0
        /// <summary>
        /// 处理更新请求
        /// </summary>
        /// <param name="message">版本号+更新时间</param>
        public void DealUpdate(User user, string message)
        {
            //版本号+更新时间
            string[]     msg          = message.Split(MessageTypes.NSP.ToCharArray());
            VersionModel versionModel = VersionData.GetConfig();
            ILogger      ilogger      = ILogger.GetInstance();

            ilogger.Logger(string.Format("用户:{0}--->比较软件版本...", user.client.Client.RemoteEndPoint));
            Console.WriteLine("用户:{0}--->比较软件版本...", user.client.Client.RemoteEndPoint);
            switch (string.Compare(msg[0], versionModel.AppVs, false))
            {
            //客户端版本低,可以更新
            case -1:
                ilogger.Logger(string.Format("用户:{0}--->软件可以更新:{1}/{2}", user.client.Client.RemoteEndPoint, msg[0], versionModel.AppVs));
                Console.WriteLine("用户:{0}--->软件可以更新:{1}/{2}", user.client.Client.RemoteEndPoint, msg[0], versionModel.AppVs);
                SendMsg(user, MessageTypes.UPD + MessageTypes.PSP + "0" + MessageTypes.PSP + versionModel.AppVs + MessageTypes.NSP + versionModel.UpdateTime);
                break;

            //不用更新,进一步查看数据是否已更新
            case 0:
                ilogger.Logger(string.Format("用户:{0}--->软件不用更新,比较数据更新日期...", user.client.Client.RemoteEndPoint));
                Console.WriteLine("用户:{0}--->软件不用更新,比较数据更新日期...", user.client.Client.RemoteEndPoint);
                switch (string.Compare(msg[1], versionModel.UpdateTime, false))
                {
                case -1:
                    ilogger.Logger(string.Format("用户:{0}--->数据可以更新:{1}/{2}", user.client.Client.RemoteEndPoint, msg[1], versionModel.UpdateTime));
                    Console.WriteLine("用户:{0}--->数据可以更新:{1}/{2}", user.client.Client.RemoteEndPoint, msg[1], versionModel.UpdateTime);
                    SendMsg(user, MessageTypes.UPD + MessageTypes.PSP + "0" + MessageTypes.PSP + MessageTypes.CUP);
                    break;

                case 0:
                    ilogger.Logger(string.Format("用户:{0}--->数据不用更新:{1}/{2}", user.client.Client.RemoteEndPoint, msg[1], versionModel.UpdateTime));
                    Console.WriteLine("用户:{0}--->数据不用更新:{1}/{2}", user.client.Client.RemoteEndPoint, msg[1], versionModel.UpdateTime);
                    SendMsg(user, MessageTypes.UPD + MessageTypes.PSP + "0" + MessageTypes.PSP + MessageTypes.NUP);
                    break;

                case 1:
                    ilogger.Logger(string.Format("用户:{0}--->数据更新时间异常:{1}/{2}", user.client.Client.RemoteEndPoint, msg[1], versionModel.UpdateTime));
                    Console.WriteLine("用户:{0}--->数据更新时间异常:{1}/{2}", user.client.Client.RemoteEndPoint, msg[1], versionModel.UpdateTime);
                    SendMsg(user, MessageTypes.UPD + MessageTypes.PSP + "0" + MessageTypes.PSP + MessageTypes.NUP);
                    break;
                }
                break;

            //不用更新
            case 1:
                ilogger.Logger(string.Format("用户:{0}--->版本异常:{1}/{2}", user.client.Client.RemoteEndPoint, msg[0], versionModel.AppVs));
                Console.WriteLine("用户:{0}--->版本异常:{1}/{2}", user.client.Client.RemoteEndPoint, msg[0], versionModel.AppVs);
                SendMsg(user, MessageTypes.UPD + MessageTypes.PSP + "0" + MessageTypes.PSP + MessageTypes.NUP);
                break;
            }
        }