我看到过一个端口映射工具采用这类方法,不知道有人做过没主要是一个中间件,B,有客户端A和服务端CC 处于内网中,但是可以连接外网 
A 也只要能连接外网即可,无其他要求
B 作为中间件,需要有一个外网IP大家看好A B CA可以通过idtcpclient 链接到 B的 idtcpserverC也可以通过idtcpclient链接到B idtcpserver(这边A,B,C没有要求必须是idtcpclient或者server)如何通过B,使得A 和 C链接起来?全身家当168。

解决方案 »

  1.   

    你这结构看起来是B是服务器,A和C都是客户端,只不过干的事情性质不一样,
    那你A和C传的东西都带上明显的A和C的标志不就行了?比如:A发送一个带A类型标志的请求给B,B接到后处理一下,发给C,C处理好后发一个带C类型标志的结果给B,B接到后发给A
    这样的结构是不是要合理点:
    A可以通过idtcpclient 链接到 B的idtcpserver
    B的idtcpclient 链接到 C的idtcpserver
      

  2.   


    谢谢你我只是想把这2条连接 连起来。使得。不通过中间件B,,A C 2个都是内网的客户端建立链接
      

  3.   

    你是想实现p2p的效果了,可以这样A,C能时开启一个idtcpserver和一个idtcpclient
    中间件B开启一个idtcpserver
    首先a,c都连B,B取得A,C的IP和端口号
    如果A欲连C,那么A发送连接C的命令请求给B,B收到后,发送C的IP地址和端口号给A
    ,A就可以通过这个IP和端口号连接C的idtcpserver了
      

  4.   

    如果都处于内网的话,TCP是没法直接连接的,只能借助于中间件B交换信息了
      

  5.   

    C 处于内网中,但是可以连接外网  
    A 也只要能连接外网即可,无其他要求从你这两个条件来看,肯定是要在对外网做端口映射才能互相访问的,不然在这种情况下:内网A——INTERNET——内网C,A和C是不能直接访问的,要不你A和C之间建立VPN?很多企业都这么做的