Foxtable(狐表)用户栏目专家坐堂 → [求助]内外网切换


  共有2582人关注过本帖树形打印复制链接

主题:[求助]内外网切换

帅哥哟,离线,有人找我吗?
lgj716330
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1399 积分:10804 威望:0 精华:0 注册:2013/11/8 15:27:00
[求助]内外网切换  发帖心情 Post By:2017/8/4 18:03:00 [只看该作者]

原来是基于内部局域网搭建的,现有些地方没有VPN,只能用外网访问,然后在服务器上映射了一个外网IP,现如何修改程序才能让没有VPN的地方可以访问服务器呢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/4 18:07:00 [只看该作者]

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

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1399 积分:10804 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By:2017/8/4 21:22:00 [只看该作者]

嗯,这个倒是明白。主要是有个客户端在线升级的问题,客户端在线升级的升级包文件夹路径的IP是内网的IP,这会不会造成使用外网的客户端不能升级

 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/4 21:34:00 [只看该作者]

一样的,调用升级代码前ping内网ip,不通的时候改升级路径

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

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

 回到顶部
帅哥哟,离线,有人找我吗?
xietan417
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:6504 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By: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
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1399 积分:10804 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By: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

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


 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By: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
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:732 积分:6504 威望:0 精华:0 注册:2011/6/26 11:45:00
  发帖心情 Post By:2017/8/5 11:48:00 [只看该作者]

这个只是升级路径啊!你加上你的升级代码就就行了?

 回到顶部
帅哥哟,离线,有人找我吗?
lgj716330
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1399 积分:10804 威望:0 精华:0 注册:2013/11/8 15:27:00
  发帖心情 Post By: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
图片点击可在新窗口打开查看

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



 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:111393 积分:567029 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/5 12:21:00 [只看该作者]

设置时的错误不用管的。发布后进行测试。由于之前的客户端没有判断的代码,先发布一个客户端手工覆盖之前的客户端,然后重新发布升级包,再进行测试

 回到顶部
总数 15 1 2 下一页