0

http接続を行うとき、私は少し混乱しています。サーバーからのデータが電話、クライアントでダウンロードを終了したコードのどこで知りたいですか?

次のコード、標準の http Java 接続コードがあります。

DefaultHttpClient client = new DefaultHttpClient();
        HttpGet httpGet = new HttpGet(url);
        try {
          HttpResponse execute = client.execute(httpGet);
          InputStream content = execute.getEntity().getContent();

          BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
          String s = "";
          while ((s = buffer.readLine()) != null) {
            response += s;
          }

        } catch (Exception e) {
          e.printStackTrace();
        }
      }

したがって、問題は実際に何が起こるかです:

HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();

この場所にダウンロードされたすべてのサーバー データですか、それともサーバーからのデータがまだ while ブロックに到着している可能性がありますか

while ((s = buffer.readLine()) != null) {
  response += s;
}

私の理解では、接続は次の場所でまだ有効です。

while ((s = buffer.readLine()) != null) {
  response += s;
}

ソケットが読み取られている間に、さらに多くのデータが来る可能性があります。私はストリームを使用して、映画などの入札データを処理したり、大きなルートを描いたり、来るように表示する必要があるものを描いたりしているので、これを知っています。

4

1 に答える 1