GET リクエストを送信し、ストリームで回答を受け取るコードを取得しました。streamreader でストリームを最後まで読みます。コードは次のとおりです。
HttpWebRequest requestGet = (HttpWebRequest)WebRequest.Create(url);
requestGet.Method = "GET";
requestGet.Timeout = 5000;
HttpWebResponse responseGet = (HttpWebResponse)requestGet.GetResponse();
StreamReader reader = new StreamReader(responseGet.GetResponseStream());
StringBuilder output = new StringBuilder();
output.Append(reader.ReadToEnd());
responseGet.Close();
しかし、応答の処理を開始する前に、すべてのデータが受信されるまでプログラムが待機するのは好きではありません。私がこのようにそれを行うことができれば素晴らしいでしょう(疑似コード):
//here sending GET request
do
{
response.append(streamPart recieved);
//here work with response
} while (stream not ended)
streamReader.Read(char[], int32_1, int32_2) を試しましたが、受信したシンボルの数がわからないため、int32_2 を指定できません。ReadToEnd を使用すると、すべての応答がロードされるのを待ちます。