将套接字连接绑定到不同机器上的不同端口?

时间:2014-04-18 22:39:42

标签: java sockets tcp proxy bind

我有接受客户端请求的代理服务器(在Windows机器上)(使用java套接字),我有几个内部节点(unix机器)来处理这些请求(在局域网中)。如何将传入套接字连接绑定到不同端口上的其他计算机?

例如我有一个从客户端(xxx.xxx.xxx.xxx:5000)到我的代理服务器(yyy.yyy.yyy.yyy:6000)的传入连接,我想将此TCP连接绑定到一个节点上(zzz.zzz.zzz.zzz:7000)。

请告诉我实现此方案的不同方法? 在此先感谢!

1 个答案:

答案 0 :(得分:1)

您无法将连接绑定到另一台计算机。代理人应该:

  1. 从客户端
  2. 接受入站连接
  3. 为下一个服务器创建自己的客户端连接(通常客户端会指定此项,除非您在代理的配置中处理此问题)
  4. 根据需要在两个连接之间来回传递数据
  5. 因此,客户端将在yyy.yyy.yyy.yyy:6000连接到您的代理,然后您的代理将连接到zzz.zzz.zzz.zzz:7000并开始监视入站数据的两个连接。在任一连接上收到的任何数据都需要发送到另一个连接。重复,直到其中一个连接关闭,然后关闭另一个连接。