没有第三者,只通过设client.server应该是不能联上的。
你可以在有对处的机子上作一个代理。
或者通过里面联外面就可以

解决方案 »

  1.   

    在对外IP的机器上装一个代理服务器(如MS ISA),监听指定的端口,反向代理你的机器上IP2,局域网外的internet上,client的remotehost设为IP1即可
      

  2.   

    兄弟什么意思?能不能说明白点啊!那么现在我先说明白点把。
    我编了两个程序,一个server,一个client,在client中我设winsock:
      with winsock1 
          .remotehost="computer1" ‘computer1是我的机器名
          .remoteport=4000
      end with
      然后connect,这样我在局域网中试验,可以连上server程序。
      但我在想假如我现在将client放在我们局域网外的网上,那么我们的局域网只有一个公共的IP为IP1,那么现在我应该怎么修改我的client 的remotehost,才能是我的client能连上我的server呢?
      

  3.   

    关键是你要在IP1上做一个代理服务器(现成的或自己做一个)做反向代理,然后remotehost改为那个代理服务器的地址也就是IP1
      

  4.   

    关键是你要在IP1上做一个代理服务器(现成的或自己做一个)做反向代理,然后remotehost改为那个代理服务器的地址也就是IP1
      

  5.   

    装个MS ISA Server,然后设置Server Publishing Rules,将访问IP1,4000断口的连接,转到IP2上
      

  6.   

    假如:我们的公共对外IP为IP1,我的机器的静态IP为IP2,拥有公共IP的机器在我们局域网中分配的静态IP为IP3,那么请问我想监听4000端口,那么请问我那台机器上设代理服务器,又应该怎么设代理服务器呢?添哪个IP呢?
      

  7.   

    我觉得好象是不能成功的各位兄弟如果有人实现了,可以把程序或者代码发给我吗?我自己写的程序总是只能连接内部网络上的机器。[email protected]
      

  8.   

    哦,有点明白了。
    但是还是问的再清楚一点好吗?
    我要监听4000端口
    1。如何在IP1机器上设置反向代理IP2?是不是在IE->工具->internet选项->连接
    ->局域网设置->代理服务器 中填入IP2,端口填上4000。不知道是不是这样?2。MS ISA Server是win2000自带的吗?
      

  9.   

    关注!
    现在我也在考虑做这么一个东西,互连网上的远程机器通过公共IP访问局域网的sock,我的思路是在公共IP上做一个SOCK中转,就是类似于qq的服务器一样转发各方的sock信息,但是这种结构太笨,因为在局域网的机器发送信息给远程机器时,必须将远程机器的IP与断口附加在信息上。
    哪位知道设置代理服务器的方法来实现,请EMAIL TO : [email protected]
    绝对开贴给200分!
    谢谢!