/// <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; } }