⑴ 客户端发布了新版本,怎么升级
当服务器有版本更新后,登录客户端会有升级提示,根据提示下载安装即可,当然也可以手动在设置页面中点击检查新版本来升级程序。如程序内直接升级出现问题,还可以访问沃.企主页,下载最新的客户端覆盖安装,不会丢失任何记录。
⑵ 服务器上部署的应用程序如何更新版本
应用程序版本更新步骤如下:
1.在程序的“关于”对话框中点击“更新”按钮来升级应用程序。
2.升级完成后弹出一个对话框,点击“确定”按钮退出本程序后,重新启动该应用程序,发现版本已经更新到最新版了
3.此时,由于该程序已经是最新版,无法再升级,所以“更新”按钮不可用。
应用程序服务器是为应用程序提供业务逻辑的代码。它是基于组件的,位于以服务器为中心的架构的中间层。这个架构主要基于Web。中间层是业务逻辑所在的应用服务器。而第三层,则是事务服务器的数据库。应用程序服务器充当的是用户和数据库之间的交互。
⑶ 易语言如何利用服务器和客户 远程更新客户端的标签 求源码
给服务器控件 设置好端口 比如服务器端口是20000
然后 在服务器的客户进入哪里 取进入的客户IP并把它放到一个数组里
在客户离开哪里取离开的客户IP 然后搜索当前的客户IP数组把离开的客户IP移除数组
之后可以添加一个事件 用于给客户发送信息
在这个时间里遍历所有IP 给他们发送数据
客户端就简单一些了 用客户端连接到服务器 设置连接到的ip和端口 当然服务器的端口是20000了连接的端口也要是20000
在客户端的数据到达事件下 写上标签.标题=到文本(客户端.取回数据())
简单的思路大概就是这样
⑷ 若SYMANTEC服务器IP变更请问怎样修改客户端设置让客户端自动更新
更改服务器IP后所有接受管理的客户端都会丢失,不建议更改。如果非要更改可以把服务器的GRC.dat拷贝到客户端的7.5这个文件夹下面然后重启symantec antivirus这个服务。最后再拷贝新搭建服务器的PKI证书。得一台台的拷贝比较麻烦工作量比较大不建议更换服务器的IP。
⑸ csgo怎么更新客户端
STEAM登陆器 最左上角 steam-设置--区域换一下。换成hongkong或者别的节点 完美登陆器也差不多这样设置。 换好以后。重开下登陆器就可以了。
把游戏文件夹里面的更新文件删除,重新登录。
检查一下游戏完整性。
更新不了的原因是太多人同时更新,steam服务器一时反应不了而已。解决方法很简单,换节点就行。
点击左上角设置,然后点击语音,把下 载地区改成某个小国家就行,比如我改成新加坡只要3分钟就下 载好了。
《反恐精英:全球攻势》是一款由VALVE与Hidden Path Entertainment合作开发的第一人称射击游戏,于2012年8月21日在欧美地区正式发售,国服发布会于2017年4月11日在北京召开。 游戏为《反恐精英》系列游戏的第四款作品(不包括Neo和Online等衍生作品)。
游戏玩家分为反恐精英(CT阵营)与恐怖份子(T阵营)两个阵营,双方需在一个地图上进行多回合的战斗,达到地图要求目标或消灭全部敌方则取得胜利。
《反恐精英:全球攻势》包含全新地图,角色与武器,同时将向经典CS发布升级。另外,游戏还引入全新的游戏模式,竞技配对系统,排行榜等。新的对战模式分为休闲和竞技两种。在休闲模式中,玩家的攻击将不会对队友造成误伤,可以跨团队和敌方聊天,系统还将自动为人物穿上防弹衣。
⑹ apicloud,经常更换服务器和域名,安卓客户端怎么更新
你们服务器里面肯定有下载的路径吧?把安装包在apicloud下载好后丢进服务器。设置好路径在APIcloud里面有个版本功能。把路径拷上去保存之后,安卓苹果手机都可以提示自动更新了。记得修改安装包的命名。
⑺ pb如何自动升级客户端
目前的做法就是做一个更新包,在客户机上用一个文件记录当前PBD的更新时间,当客户机的更新时间和服务器上的更新时间不一致时就将服务器的PBD文件下载下来!
⑻ 局域网中,怎么通过诺顿服务器升级诺顿客户端
诺顿有时候会出现升级不成功的时候,原因是升级的服务器有问题,请稍后在升级。最好还是换个杀毒软件吧,真的,我以前用的诺顿真实伤透了我的心
⑼ 如何让客户端程序 自动更新 版本
用C#实现软件自动更新思路
前言
长期以来,广大程序员为到底是使用Client/Server,还是使用Browser/Server结构争论不休,在这些争论当中,C/S结构的程序可维护性差,布置困难,升级不方便,维护成本高就是一个相当重要的因素。有很多企业用户就是因为这个原因而放弃使用C/S。然而当一个应用必须要使用C/S结构才能很好的实现其功能的时候,我们该如何解决客户端的部署与自动升级问题?部署很简单,只要点击安装程序即可,难的在于每当有新版本发布时,能够实现自动升级[3]。现在好了,我们的目标很简单,我们希望开发一个与具体应用无关的能够复用的自动升级系统。下面我为大家提供了一套可复用的用C#编写的自动升级系统。
2 实现软件的自动升级存在的困难
第一,为了查找远程服务器上的更新,应用程序必须有查询网络的途径,这需要网络编程、简单的应用程序与服务器通讯的协议。
第二是下载。下载看起来不需要考虑联网的问题,但要考虑下载用户请求的文件,以及在没有用户同意时下载大文件。友好的自动更新应用程序将使用剩余的带宽下载更新。这听起来简单,但却是一个技术难题,幸运的是已经有了解决方法。
第三个考虑因素是使用新版应用程序更换原应用程序的过程。这个问题比较有趣,因为它要求代码运行时将自己从系统删除,有多种办法可以实现该功能[5],本文程序主要通过比较新旧版本的日期号来实现替换新版本应用程序的功能。
3 实现软件自动在线升级的原理
写两个程序,一个是主程序;一个是升级程序;所有升级任务都由升级程序完成。
1.启动升级程序,升级程序连接到网站,下载新的主程序(当然还包括支持的库文件、XML配置文档等)到临时文件夹;
2.升级程序获取服务器端XML配置文件中新版本程序的更新日期或版本号或文件大小;
3.升级程序获取原有客户端应用程序的最近一次更新日期或版本号或文件大小,两者进行比较;如果发现升级程序的日期大于原有程序的最新日期,则提示用户是否升级;或者是采用将现有版本与最新版本作比较,发现最新的则提示用户是否升级;也有人用其它属性如文件大小进行比较,发现升级程序的文件大小大于旧版本的程序的大小则提示用户升级。本文主要采用比较新旧版本更新日期号来提示用户升级。
4.如果用户选择升级,则获取下载文件列表,开始进行批量下载文档;
5.升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序;
6.删除旧的主程序,拷贝临时文件夹中的文件到相应的位置;
7.检查主程序的状态,若状态为活动的,则启动新的主程序;
8.关闭升级程序,升级完成[4]。
4 用C#实现在线升级的关键步骤
这里我主要使用日期信息来检测是否需要下载升级版本。
4.1 准备一个XML配置文件
名称为AutoUpdater.xml,作用是作为一个升级用的模板,显示需要升级的信息。
名称为AutoUpdater.xml,作用是作为一个升级用的模板,显示需要升级的信息。
<?xml version="1.0"?> //xml版本号
<AutoUpdater>
<URLAddres URL="http://192.168.198.113/vbroker/log/"/>//升级文件所在服务器端的网址
<UpdateInfo>
<UpdateTime Date = "2005-02-02"/> //升级文件的更新日期
<Version Num = "1.0.0.1"/> //升级文件的版本号
</UpdateInfo>
<UpdateFileList> //升级文件列表
<UpdateFile FileName = "aa.txt"/> //共有三个文件需升级
<UpdateFile FileName = "VB40.rar"/>
<UpdateFile FileName = "VB4-1.CAB"/>
</UpdateFileList>
<RestartApp>
<ReStart Allow = "Yes"/> //允许重新启动应用程序
<AppName Name = "TIMS.exe"/> //启动的应用程序名
</RestartApp>
</AutoUpdater>
//xml版本号
//升级文件所在服务器端的网址
//升级文件的更新日期
//升级文件的版本号
//升级文件列表
//共有三个文件需升级
//允许重新启动应用程序
//启动的应用程序名
从以上XML文档中可以得知升级文档所在服务器端的地址、升级文档的更新日期、需要升级的文件列表,其中共有三个文件需升级:aa.txt、VB40.rar、VB4-1.CAB。以及是否允许重新启动应用程序和重新启动的应用程序名。
4.2 获取客户端应用程序及服务器端升级程序的最近一次更新日期
通过GetTheLastUpdateTime()函数来实现。
private string GetTheLastUpdateTime(string Dir)
{
string LastUpdateTime = "";
string AutoUpdaterFileName = Dir + @"\AutoUpdater.xml";
if(!File.Exists(AutoUpdaterFileName))
return LastUpdateTime;
//打开xml文件
FileStream myFile = new FileStream(AutoUpdaterFileName,FileMode.Open);
//xml文件阅读器
XmlTextReader xml = new XmlTextReader(myFile);
while(xml.Read())
{
if(xml.Name == "UpdateTime")
{
//获取升级文档的最后一次更新日期
LastUpdateTime = xml.GetAttribute("Date");
break;
}
}
xml.Close();
myFile.Close();
return LastUpdateTime;
}
通过XmlTextReader打开XML文档,读取更新时间从而获取Date对应的值,即服务器端升级文件的最近一次更新时间。
函数调用实现:
//获取客户端指定路径下的应用程序最近一次更新时间
string thePreUpdateDate = GetTheLastUpdateTime(Application.StartupPath);
Application.StartupPath指客户端应用程序所在的路径。
//获得从服务器端已下载文档的最近一次更新日期
string theLastsUpdateDate = GetTheLastUpdateTime(theFolder.FullName);
theFolder.FullName指在升级文档下载到客户机上的临时文件夹所在的路径。
4.3 比较日期
客户端应用程序最近一次更新日期与服务器端升级程序的最近一次更新日期进行比较。
//获得已下载文档的最近一次更新日期
string theLastsUpdateDate = GetTheLastUpdateTime(theFolder.FullName);
if(thePreUpdateDate != "")
{
//如果客户端将升级的应用程序的更新日期大于服务器端升级的应用程序的更新日期
if(Convert.ToDateTime(thePreUpdateDate)>=Convert.ToDateTime(theLastsUpdateDate))
{
MessageBox.Show("当前软件已经是最新的,无需更新!","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
this.Close();
}
}
this.labDownFile.Text = "下载更新文件";
this.labFileName.Refresh();
this.btnCancel.Enabled = true;
this.progressBar.Position = 0;
this.progressBarTotal.Position = 0;
this.progressBarTotal.Refresh();
this.progressBar.Refresh();
//通过动态数组获取下载文件的列表
ArrayList List = GetDownFileList(GetTheUpdateURL(),theFolder.FullName);
string[] urls = new string[List.Count];
List.CopyTo(urls, 0);
将客户端升级的应用程序的日期与服务器端下载的应用程序日期进行比较,如果前者大于后者,则不更新;如果前者小于后者,则通过动态数组获取下载文件的列表,开始下载文件。
4.2 获取客户端应用程序及服务器端升级程序的最近一次更新日期
通过GetTheLastUpdateTime()函数来实现。
private string GetTheLastUpdateTime(string Dir)
{
string LastUpdateTime = "";
string AutoUpdaterFileName = Dir + @"\AutoUpdater.xml";
if(!File.Exists(AutoUpdaterFileName))
return LastUpdateTime;
//打开xml文件
FileStream myFile = new FileStream(AutoUpdaterFileName,FileMode.Open);
//xml文件阅读器
XmlTextReader xml = new XmlTextReader(myFile);
while(xml.Read())
{
if(xml.Name == "UpdateTime")
{
//获取升级文档的最后一次更新日期
LastUpdateTime = xml.GetAttribute("Date");
break;
}
}
xml.Close();
myFile.Close();
return LastUpdateTime;
}
通过XmlTextReader打开XML文档,读取更新时间从而获取Date对应的值,即服务器端升级文件的最近一次更新时间。
函数调用实现:
//获取客户端指定路径下的应用程序最近一次更新时间
string thePreUpdateDate = GetTheLastUpdateTime(Application.StartupPath);
Application.StartupPath指客户端应用程序所在的路径。
//获得从服务器端已下载文档的最近一次更新日期
string theLastsUpdateDate = GetTheLastUpdateTime(theFolder.FullName);
theFolder.FullName指在升级文档下载到客户机上的临时文件夹所在的路径。
4.3 比较日期
客户端应用程序最近一次更新日期与服务器端升级程序的最近一次更新日期进行比较。
//获得已下载文档的最近一次更新日期
string theLastsUpdateDate = GetTheLastUpdateTime(theFolder.FullName);
if(thePreUpdateDate != "")
{
//如果客户端将升级的应用程序的更新日期大于服务器端升级的应用程序的更新日期
if(Convert.ToDateTime(thePreUpdateDate)>=Convert.ToDateTime(theLastsUpdateDate))
{
MessageBox.Show("当前软件已经是最新的,无需更新!","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
this.Close();
}
}
this.labDownFile.Text = "下载更新文件";
this.labFileName.Refresh();
this.btnCancel.Enabled = true;
this.progressBar.Position = 0;
this.progressBarTotal.Position = 0;
this.progressBarTotal.Refresh();
this.progressBar.Refresh();
//通过动态数组获取下载文件的列表
ArrayList List = GetDownFileList(GetTheUpdateURL(),theFolder.FullName);
string[] urls = new string[List.Count];
List.CopyTo(urls, 0);
将客户端升级的应用程序的日期与服务器端下载的应用程序日期进行比较,如果前者大于后者,则不更新;如果前者小于后者,则通过动态数组获取下载文件的列表,开始下载文件。
通过BatchDownload()函数来实现。升级程序检测旧的主程序是否活动,若活动则关闭旧的主程序;删除旧的主程序,拷贝临时文件夹中的文件到相应的位置;检查主程序的状态,若状态为活动的,则启动新的主程序。
private void BatchDownload(object data)
{
this.Invoke(this.activeStateChanger, new object[]{true, false});
try
{
DownloadInstructions instructions = (DownloadInstructions) data;
//批量下载
using(BatchDownloader bDL = new BatchDownloader())
{
bDL.CurrentProgressChanged += new DownloadProgressHandler(this.SingleProgressChanged);
bDL.StateChanged += new DownloadProgressHandler(this.StateChanged);
bDL.FileChanged += new DownloadProgressHandler(bDL_FileChanged);
bDL.TotalProgressChanged += new DownloadProgressHandler(bDL_TotalProgressChanged);
bDL.Download(instructions.URLs, instructions.Destination, (ManualResetEvent) this.cancelEvent);
}
}
catch(Exception ex)
{
ShowErrorMessage(ex);
}
this.Invoke(this.activeStateChanger, new object[]{false, false});
this.labFileName.Text = "";
//更新程序
if(this._Update)
{
//关闭原有的应用程序
this.labDownFile.Text = "正在关闭程序....";
System.Diagnostics.Process[]proc=System.Diagnostics.Process.GetProcessesByName("TIMS");
//关闭原有应用程序的所有进程
foreach(System.Diagnostics.Process pro in proc)
{
pro.Kill();
}
DirectoryInfo theFolder=new DirectoryInfo(Path.GetTempPath()+”JurassicUpdate");
if(theFolder.Exists)
{
foreach(FileInfo theFile in theFolder.GetFiles())
{
//如果临时文件夹下存在与应用程序所在目录下的文件同名的文件,则删除应用程序目录下的文件
if(File.Exists(Application.StartupPath + \\"+Path.GetFileName(theFile.FullName)))
File.Delete(Application.StartupPath + "\\"+Path.GetFileName(theFile.FullName));
//将临时文件夹的文件移到应用程序所在的目录下
File.Move(theFile.FullName,Application.StartupPath + \\"+Path.GetFileName(theFile.FullName));
}
}
//启动安装程序
this.labDownFile.Text = "正在启动程序....";
System.Diagnostics.Process.Start(Application.StartupPath + "\\" + "TIMS.exe");
this.Close();
}
}
⑽ pubg国际服怎么更新到最高客户端苹果
用符合条件的苹果ID登陆Appstore后,就可以搜索pubg mobile,找到pubg mobile国际服后点击下载,国际服同样提供微信及QQ这两种登陆方法。如果创建账号遇到服务器繁忙问题,可以用免费的pubg mobile国际服加速器海豚来解决,可以帮助顺利注册登陆。
如果是安卓用户,玩家只需要前往官网下载pubg mobile国际服安装包就可以了,而使用pubg mobile 国际服加速器海豚可以在软件里下载及更新,同时加速解决服务器繁忙等网络问题。