.Net如何设置套接字选项或从HttpWebRequest获取套接字

时间:2014-05-12 06:52:54

标签: c# .net sockets httpwebrequest options

我使用.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选项,以便在网络中断时捕获异常。有人能帮助我吗?

0 个答案:

没有答案