ldksie
2012-11-19 11:21 阅读 465
已采纳

java socket转发

请问如何实现,A访问B建立一个socket,B访问C建立一个socket,可否让A与B建立的socket直接交给C,之后让C直接和A交互,不用通过B就能实践数据交互。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    blogzhoubo blogzhoubo 2012-11-20 22:04

    你说的这个需求只有两种方式:
    1.通过B做中转,典型的例子就是代理服务器,比如通过proxy server上网

    2.B把C的ip和端口发给A,然后A直接和C建立连接,典型的应用就是点对点的即时通信工具,比如qq。

    点赞 评论 复制链接分享
  • u011606457 _1_1_7_ 2012-11-19 14:47

    socket是与地址、端口绑定的

    点赞 评论 复制链接分享
  • blogzhoubo blogzhoubo 2012-11-19 17:00

    如果A和C在网络上是可以ping通的话,而且允许A知道C的IP和端口的话,可以直接从A向C发起SOCKET连接,和B没有任何关系。

    如果A和C在网络上是无法ping通的话,那么只能通过B做中转。

    如果C的IP和端口号是由B来动态决定的话,那么可以先向B发起SOCKET连接,然后B把C的IP和端口号返回给A,然后A再向C发起SOCKET连接。

    点赞 评论 复制链接分享

相关推荐