以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]内外网切换  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=104771)

--  作者:lgj716330
--  发布时间:2017/8/4 18:03:00
--  [求助]内外网切换
原来是基于内部局域网搭建的,现有些地方没有VPN,只能用外网访问,然后在服务器上映射了一个外网IP,现如何修改程序才能让没有VPN的地方可以访问服务器呢
--  作者:有点甜
--  发布时间:2017/8/4 18:07:00
--  

 ping一下内网ip,如果连不上,就用外网ip

 

http://www.foxtable.com/webhelp/scr/2709.htm

 


--  作者:lgj716330
--  发布时间:2017/8/4 21:22:00
--  
嗯,这个倒是明白。主要是有个客户端在线升级的问题,客户端在线升级的升级包文件夹路径的IP是内网的IP,这会不会造成使用外网的客户端不能升级
--  作者:有点蓝
--  发布时间:2017/8/4 21:34:00
--  
一样的,调用升级代码前ping内网ip,不通的时候改升级路径

5、和远程升级相关的系统变量

PublishDate
日期型变量,返回在项目属性中设置的项目发布日期。
 
UpdatePath
字符型,用于设置或返回在线升级路径,有了这个变量,我们可以动态设置升级路径。
 
RemoteUpdate
逻辑型,是否通过互联网升级。

--  作者:xietan417
--  发布时间:2017/8/5 9:30:00
--  
If Network.Ping("192.168.1.254") Then
       UpdatePath = "http://192.168.1.254:8080/update"
Else
       UpdatePath = "http://15.10.10.2:8080/update"
End If


--  作者:lgj716330
--  发布时间:2017/8/5 11:15:00
--  
以下是引用xietan417在2017/8/5 9:30:00的发言:
If Network.Ping("192.168.1.254") Then
       UpdatePath = "http://192.168.1.254:8080/update"
Else
       UpdatePath = "http://15.10.10.2:8080/update"
End If

我的安装包是放在某个文件夹里的,试了下,这样好象还是不行


--  作者:有点蓝
--  发布时间:2017/8/5 11:28:00
--  
具体怎么个不行,要解决问题不要总是只说“不行”!代码怎么写的,怎么测试的,有什么错误......

先确定升级路径,再调用升级的代码
If Network.Ping("192.168.1.254") Then
       UpdatePath = "http://192.168.1.254:8080/update"
Else
       UpdatePath = "http://15.10.10.2:8080/update"
End If
If Syscmd.Project.Update(False,False) = False Then \'如果没有升级
    \'原AfterOpenProject事件代码
End
 If

--  作者:xietan417
--  发布时间:2017/8/5 11:48:00
--  
这个只是升级路径啊!你加上你的升级代码就就行了?
--  作者:lgj716330
--  发布时间:2017/8/5 12:08:00
--  
AfterOpenProjectk中的代码:

If Network.Ping("100.100.0.00") Then
       UpdatePath = "http://100.100.0.00:8080/update"
Else
       UpdatePath = "http://111.111.111.111:8080/update"
End If
If Syscmd.Project.Update(False,True) = False Then 

If User.Type <> UserTypeEnum.Developer
    TableCaptionVisible = False
End If
Forms("系统封面").Open()
MainTable = Tables("其他表") \'打开生成的统计表
End If

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20170805120251.png
图片点击可在新窗口打开查看

在设置的时候错误提示,但原先在局域网内手动升级的时候是没问题的



--  作者:有点蓝
--  发布时间:2017/8/5 12:21:00
--  
设置时的错误不用管的。发布后进行测试。由于之前的客户端没有判断的代码,先发布一个客户端手工覆盖之前的客户端,然后重新发布升级包,再进行测试