有3个外部程序,2个服务端A和B,1个客户端C, A服务端开放300和500端口,B服务端开放600端口..A服务端500端口用来和B服务端连接,300端口用来接收客户端发送的验证信息,当验证信息正确后,客户C就会通过收到得信息去连接B服务端的600端口登陆。
 我想做个端口转发程序,来转发B服务端的600端口,不让客户C直接去连接B服务端的600端口。而连接我转发后的端口。然后由我的转发器转发到B得600端口,问题是B开放的端口我不知道该怎么去转发,比如,把B得端口修改成700,A验证信息正确后,就会通知客户C去连接700端口,象这种情况,我应该怎么去实现转发B服务端的端口。请大家教教我该怎么做,谢谢!

解决方案 »

  1.   

    感觉你A的500端口是多余的,B改开放俩个端口, 一个600端口,一个动态端口
    客户连接A的500端口,然后A通过B的600端口来获取B的动态端口,然后返回给A,A通过返回获得的B的动态端口去和B连接,这样客户和B就可以通讯了 
      

  2.   

    客户连接A的500端口,然后A通过B的600端口来获取B的动态端口,然后A返回给客户,客户通过返回获得的B的动态端口去和B连接,这样客户和B就可以通讯了 
      

  3.   

    sanguomi(只爱三国) ABC是三个外部程序。他们开放的端口都是设置好的
      

  4.   

    最简单的办法是直接使用Indy组件里的IdMappedPortTCP。
      

  5.   

    听说用IdMappedPortTCP可以实现,,具体应该怎么做啊,,大家帮下忙,谢谢了!!!