我使用.Net4.0的HttpWebRequest类从Web服务器获取数据。 但是那些数据不能接收一次,这意味着我必须获得响应流并在这样的循环中读取它
String login_url = "http://192.168.1.108:8080/login?regKey=123";
Stream dataStream = null;
WebRequest request = null;
WebResponse response = null;
request = WebRequest.Create(login_url);
request.Timeout = int.MaxValue;
response = request.GetResponse();
dataStream = response.GetResponseStream();
int bytesRead = 0;
byte[] buffer = new byte[1024];
dataStream.ReadTimeout = int.MaxValue;
while ((bytesRead = dataStream.Read(buffer, 0, buffer.Length)) != 0)
{
String recv_str = Encoding.Default.GetString(buffer, 0, bytesRead);
Console.WriteLine("Recv data:" + recv_str);
Console.WriteLine("Recv data len:" + bytesRead);
}
我设置请求并且读取响应没有超时,所以我必须设置socket tcp-keepalive选项,以便在网络中断时捕获异常。有人能帮助我吗?