首页 > 代码库 > 艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(二)
艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(二)
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输)
该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定。
项目地址:http://www.51aspx.com/code/MSDCArtMengFileUpload
咨询qq:286275658
演示程序下载地址:http://pan.baidu.com/s/1geVfmcr
自动升级的原理:
(1)客户端登录后,判断本地配置文件中的版本号与服务器的版本号,如果小于服务器的版本号,则关闭本程序,启动升级程序
//启动升级程序 private void AppUpdate() {
//联系服务器 请求服务器的版本号 UpgradeConfig upgradeConifg = AppOutter.TcpConn.SendReceiveObject<string, UpgradeConfig>("GetUpMsg", "ResUpMsg", 5000, "Test");
//如果服务器的版本号大, 则启动升级程序 if (upgradeConifg.AppVersion > GetMenuVersion()) {
//从配置文件中获取升级程序的名称,启动该程序 string upgradeAppPath = System.Configuration.ConfigurationManager.AppSettings["UpgradeApp"]; string callBack = AppDomain.CurrentDomain.BaseDirectory + upgradeAppPath; if (File.Exists(callBack)) { if (Properties.Settings.Default.IpAddress == System.Configuration.ConfigurationManager.AppSettings["IPAddress"]) { System.Diagnostics.Process process = System.Diagnostics.Process.Start(callBack); } else { System.Diagnostics.Process process = System.Diagnostics.Process.Start(callBack, "s"); } } else { MessageBox.Show("目标程序不存在" + callBack); } System.Environment.Exit(0); } }
升级程序的配置文件:
ExeAppName 是升级程序升级完成后,关闭自身后,重新启动主程序所配置的主程序名。
部分代码:
private void StartUpdate() { //设置获取文件信息类 优先级 普高 UpgradeConfig upgradeConifg = connection.SendReceiveObject<string, UpgradeConfig>("GetUpMsg", "ResUpMsg", 5000, "Test", customOptions, customOptions); if (upgradeConifg.AppVersion > 0) { listBox1.DataSource = upgradeConifg.FileList; textBox1.Text = upgradeConifg.AppVersion.ToString(); //需下载的文件的数量 upFilesCount = upgradeConifg.FileList.Count; //发送信息请求下载升级文件 string filePath = AppDomain.CurrentDomain.BaseDirectory; //把本地文件的存储路径发送到服务器端 (之后再由服务器端的sendInfo携带回来) connection.SendObject<string>("GetUpFile", filePath, customOptions); } else { MessageBox.Show("不需要升级"); } }
从服务器获取本次升级的文件列表后,依次从服务器下载文件到本地。
升级完成后,关闭本程序,启动主程序,完成升级。
艺萌TCP文件传输及自动更新系统介绍(TCP文件传输)(二)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。