0
私は、あらゆるタイプのネットワークトラフィックIE FTP、HTTP、HTTPS、RDPなどに対して複数の接続を受け入れる集中型Javaサーバーを開発したいと考えています。唯一の目標は、それを期待どおりに転送することです応答を要求者に返す。私が探している唯一の情報は、Javaサーブレットのリクエストを転送することと、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接続要求を自分のjavaプロキシに送信して、使用するホストとポートを指定します。プロキシプログラムは、その情報を使用してトンネルを開き、要求と応答を前後にパイプします。そうであれば、Windows RDPやFilezillaなどの既存のプログラムではどうすればできますか? – Silas