繁体   English   中英

任何协议的简单正向代理

[英]simple forward proxy for any protocol

我想开发一个集中的Java服务器,该服务器可以接受任何类型的网络流量(例如,IE FTP,HTTP,HTTPS,RDP等)的多个连接。唯一的目标是将其转发到预期的目标,并将响应返回给请求者。 我不知道从哪里开始,因为我发现的唯一信息与转发Java Servlet请求以及有关转发HTTP的一些信息有关。 无论如何,有没有将其转发出去的方法,还是要求以不同的方式处理每个协议?

public void run () {
    InetSocketAddress address = (InetSocketAddress)this.socket.getRemoteSocketAddress();
    try {
        InputStreamReader isr = new InputStreamReader(this.socket.getInputStream());
        BufferedReader br = new BufferedReader(isr);
        OutputStream os = this.socket.getOutputStream();
        String ipAddress = address.getHostName();
        Log.d("client","A client has connected from: "+ipAddress);

        //TODO forward the client inputstream to the destination

    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try{
            this.socket.close();
        } catch (Exception e) {}
    }
}

每种协议都是不同的,除非您愿意并且可以将它们强制像HTTP的CONNECT动词一样放在一个直线外套中。 您将必须研究目标客户端可以使用哪些代理协议。

您很可能应该在现有实现中使用SOCKS。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM