以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  远程登陆不能自动切换IP的问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=47926)

--  作者:scott518
--  发布时间:2014/3/19 17:34:00
--  远程登陆不能自动切换IP的问题
远程的服务器上的内部IP地址是192.168.1.X(有另外一个外网可以访问的固定IP)
当客户远程登陆时如果其所在的电脑也存在一个内部网络,网段也是192.168.1.X的话,这台电脑想登陆到远程的服务器上时数据源连接字符串中的IP就不能自动更换为远程服务器的外网IP(如果客户电脑是192.168.0.X的话就可以)
为什么?下面是连接外部数据源的代码,谢谢!
If e.Name = "ABC" Then
    If Network.Ping("192.168.1.13",1000) Then
        Return
    Else
        Dim ipFile As String = e.ProjectPath & "ip.txt"
        If Filesys.FileExists(ipFile) Then
            Dim ip As String = FileSys.ReadAllText(ipFile)
            e.ConnectionString = e.ConnectionString.Replace("192.168.1.13",ip)
        Else
            MessageBox.Show("请查看系统安装目录下是否有IP.txt文件!","提示")
            Syscmd.Project.Exit(False) \'退出系统
        End If
    End If
End If

--  作者:Bin
--  发布时间:2014/3/19 17:38:00
--  
不是很明白你的意思,相同网段当然不可以用外网Ip访问. 需要用内网IP访问.

你执行了 
If Network.Ping("192.168.1.13",1000) Then
        Return

说明如果是同网段,就退出执行了.  接下来肯定会无法连接.

--  作者:scott518
--  发布时间:2014/3/19 18:18:00
--  
意思是这样的,服务器在A城市,其所在处的内部网络IP是192.168.1.13,网段是192.168.1.X, 但客户在B城市,其电脑的内部IP是192.168.1.20;其局域网内部网段也是 192.168.1.X ,现在客户在B城市要登陆A城市的服务器,因为电脑iP地址的网段相同 (但是在不同的城市啊), 所以就不能自动切换到服务器的外网IP了, 我知道的路由器就只有两种网段的192.168.0.X,和 192.168.1.X 。不同的地方电脑内部的ip都是设置成这两种之一,肯定会有和服务器相同网段的,那这种方式怎么办才可以。
难道外网的用户只能另外发布一个是直接用外网IP连接数据源的安装包吗?
[此贴子已经被作者于2014-3-19 18:30:21编辑过]

--  作者:scott518
--  发布时间:2014/3/20 9:41:00
--  
顶上去