假如:
一个外网服务器    A
一个内网服务器    B
内网其它客户机C1   C2   C3
内网客户机要和外网服务器A进行通讯首先
内网的IP不能被外网服务器A识别,那么外网服务器A发给C1 C2 C3 的数据是如何通过B来传给它的?
它们的具体实现代码仅仅只是在服务端socket() bind() listen() accept()
在客户端socket() connect()     吗????
按照这种顺序来执行就可以实现局域网和外网通信??????

解决方案 »

  1.   

    在局域网络的电脑与外网的电脑进行连接也是按照socket()  connect() 这样的步骤执行的吗?
    外网,例如   www.163.com发给我的信息,是如何通过我们服务器再转发给局域网内的电脑上的?我想的话,我的IP地址外网不可能识别
    例如QQ通信通过UDP协议,好像不能点对点传送数据呢!
    是不是端对端传送的?
      

  2.   

    http://community.csdn.net/Expert/topic/3501/3501260.xml?temp=.7517359
    呵呵 穿透 
    呵呵~~
    懂它的理论就行了 其他的自己看看:)
      

  3.   

    各位大哥,看了一下,有点晕乎乎的,又有一点点的理解
    我想我的问题还不至于那么复杂吧
    在这里我只想实现这样一个功能
    在内网192.168.0.1(网关20.30.40.50)向外网IP  10。10。20。1发一个消息
    然后外网 10。10。20。1再发一个消息到192.168.0.1
    我想知道10。10。20。1是如何把一个消息发给192.168.0.1的
    请各位大哥用代码解释!!
    第一个,192.168.0.1连接10。10。20。1外网服务器IP并发送一个消息的代码
    第二个,10。10。20。1发送给192.168.0.1消息,192.168.0.1接收并显视这个消息的代码
    先谢哒!!
    理论我知道,相关的端口映射,等等,但是我想站在程序设计的角度,也就是用代码来解释!
      

  4.   

    如果 C1,C2,C3,B都是主动连接到A
    那么通过A转数据是可行的
    但是如果C1,C2需要独立发送不具备独立IP的B,就实际上是点到点通讯,涉及NAT,NATP的知识
      

  5.   

    只有一个例外,就是B直接连接到A
    qrlvls(≌AIR⌒LIKE) (≤和空气一样帅≥√)大哥,这是什么意思?
    我说的B的客户机去连接A,这样的数据相互发送怎么用代码来解释?