我的这个问题主要是说两台没有独立IP的主机(两台主机是通过ISP上网)是如何实现通信的,两台主机各自处于不同的局域网内(并且这两个局域网是跨公网的两个局域网),局域网所有主机通过一个路由器连接到ISP的路由器实现上网,请问这两台主机要想直接通信首先应该是建立“连接”,因为只有路打通了才能进行下一步的数据传输等通信操作,这条路是如何找出来的(即通信主机是如何找到被通信主机的)又会不会通过什么样的机制使这条路始终存在直到通信的主机完成通信而主动关闭这条路。我想QQ它应该是通过一个具有固定IP(有了固定IP,找路自然容易多了)的服务器做中转才得以好友之间的通信。

解决方案 »

  1.   


    UDP是可以通信的,你看看UDP的NAT打洞,可以解决你的问题.UDP的端口会在路由器上面缓存的,不过还是要有一个公网IP服务器
      

  2.   

    具有独立IP的服务器可以返回数据给局域网里的主机,那服务器是如何找出返回的路径的呢?我想既然服务器可以找回那为什么一台可以上网的局域网主机就不能找回呢,因为大家都在网上的嘛,是不是局域网主机在给具有独立IP的服务器发数据的时候沿途的路由器给它保留了路径使得服务器可以按源路径返回数据给局域网主机的呀,这样似乎也正好合情合理的即客户端永远都是主动而服务器永远都是被动的,逻辑上服务器是永远也不会“主动”给客户端发数据的,请问高手是不是这样的呀?那条路径到底又会在每一台路由器上保留多长时间呢,我想保留时间的长短应该是有端主机来控制才是,因为那么多的路由器各自管理路径的话会使网络无法统一起来提供服务,也就会混乱。但是因特网上那么多的人在用网络每一人都要保留一条路径的话那还得了,路由器可能早崩溃了,矛盾就在此,请高手指点迷津!谢谢谢谢!