java socket转发

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

3个回答

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

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

socket是与地址、端口绑定的

如果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连接。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!