HttpURLConnection または HttpClient を使用する代わりに、ソケットから直接データを取得するプログラムを作成しようとしています。ソケットを使用すると、要件に合わせてデータを操作する自由度が高まります。ソケットを使用して、各チャンクで送信されたチャンク ヘッダーを保存できることを願っています。以下は、それを達成するための私のコードです。残念ながら、コードはエラーなしで実行されますが、停止するまでに少なくとも 40 秒間実行されます。また、プログラムがサーバーに接続されていることを確認したにもかかわらず、サーバーから InputStream を取得できません。
Socket socket = new Socket(hostAddr, port);
InputStream in = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
char[] streamBuff = new char[8192];
StringBuilder receivedData = new StringBuilder();
int count = 0;
while((count = isr.read(streamBuff)) > 0)
{
receivedData.append(streamBuff, 0, count);
}
System.out.println(receivedData);