有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java“代理服务器”是如何工作的

我正在尝试实现一个简单的ProxyServer来分析连接设备和外部世界之间的traffix

  • 例如,iPhone被配置为使用192.168.1.10:8080的代理
  • 我的代理服务器(在192.168.1.10上)将监听端口8080
  • iPhone试图连接到http://google.com:80,或ftp://somehost.com:21/它向代理服务器(端口8080)发送请求,代理服务器应该与谷歌联系。通讯端口80,主机端口21

所以我想应该是这样的:

    //Accept incoming 
    ServerSocket serverSocket = new ServerSocket(8080);
    Socket socket = serverSocket.accept();
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

    //Log incoming requests

    //Send to remote server on behalf of my device
    Socket remote = new Socket(remoteHost, remotePort);
    //forward the same data to remote client..

    //wait for the reply

    //send to my device

如何知道将请求转发到的远程端口/主机

我错过了什么

谢谢!

enter image description here


共 (0) 个答案