【问题标题】:How to connect server using proxy?如何使用代理连接服务器?
【发布时间】:2015-03-22 10:09:10
【问题描述】:

我用 JAVA 制作了一个服务器-客户端聊天程序。客户端和服务器都在同一台机器上运行。现在我想在它们之间使用代理服务器。例如;客户端通过代理连接到服务器,而不是通过客户端的实际 IP 地址。我不知道是否有任何库可用于执行此任务。而且我不知道我应该使用哪种协议!!

//Client Class
Socket clientSocket = new Socket(InetAddress.getByName(ServerIP, 6789));

//Server Class
ServerSocket serverSocket = new ServerSocket(6789);
Socket socket = serverSocket.accept();

/********CONNECTION ESTABLISHED*******************************/

现在我想将连接请求作为代理发送到服务器,而不是同一台机器上的客户端 IP 地址。

【问题讨论】:

  • 对客户端和服务器都是透明的。它是处理它们之间通信的代理。

标签: java sockets proxy


【解决方案1】:

TCP 套接字足够低级,在它们自己的级别上没有任何代理机制。高级协议(HTTP、FTP 等)可以轻松代理,但 TCP 不能。

不过,您可以查看 SOCKS5 实现。至少有一种实现可以包装未修改的 TCP 客户端应用程序并通过 SOCKS5 代理将其路由到未修改的 TCP 服务器应用程序。不过,我怀疑这是您正在寻找的解决方案。

TLDR:无法使用开箱即用的 JDK API 代理 TCP 连接。

【讨论】:

    猜你喜欢
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多