我试图建立一个开放的连接,然后在每次迭代时只写出流内容。如果有人将URL输入浏览器并刷新页面,则每次都会显示新的数据。我只希望显示来自数据流的每个时间实例的数据(例如,不是1 1,2 1,2,3 1,2,3,4 1,2,3,4,5等)帮助HTTPWebRequest流
This就是我得流过一次,但问题是之后的第一次迭代只打印新行:
HttpWebRequest myHttpWebRequest1 = (HttpWebRequest)WebRequest.Create("http://www.google.com/finance/getprices?q=GOOG&x=NASD&i=120&p=25m&f=d,c,v,o,h,l&df=cpct&auto=1&ts=1308075761332");
myHttpWebRequest1.KeepAlive = true;
HttpWebResponse myHttpWebResponse1 = (HttpWebResponse)myHttpWebRequest1.GetResponse();
Stream streamResponse = myHttpWebResponse1.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
while (true)
{
Char[] readBuff = new Char[1000000];
int datalength = streamRead.Read(readBuff, 0, readBuff.Length);
String outputData = new String(readBuff, 0, datalength);
Console.Write(outputData + "\r\n");
Thread.Sleep(2000);
}
相同的谷歌网址显示不同的数据。对于每次迭代,我都想显示该URL的当前内容,而不是流的累积历史记录?当然,我不需要继续建立连接,这就是keepalie = true的意思? – Jean 2011-06-15 20:04:08
您需要在每次迭代之后再次运行请求。 – Kiril 2011-06-15 20:05:54
请求的哪个部分?当然没有/包括保持活力线?我已经尝试在keepalive = true之前包含所有内容,但它仍然不起作用。 – Jean 2011-06-15 20:31:34