Windows运行时中的长HTTP GET请求

时间:2015-04-27 08:13:18

标签: c# http get windows-runtime

我有以下Windows Phone 8.1代码。它已编译并作为Universal应用程序运行。

        using (var client = new HttpClient())
        {
            var stream = await client.GetStreamAsync(myphoneChannelUrl);
            //var stream = await client.GetStreamAsync("http://ya.ru");

            // Place 1
            stream.ReadByte();
            // Place 2
        }

我想用很长的时间" GET"请求为我的应用组织通知渠道。 服务器发给我一个字符串" START"。在Wireshark中,我看到服务器立即响应。 10秒后它发给我字符串" NEXT"。

问题是不知何故从流中读取一个字节需要10秒钟。实际上只有在收到" NEXT"我可以阅读" START"和" NEXT"立即

之后,当我看到来自服务器的一些数据时,下一次从流中读取将永久阻止。

如果我使用" GET"在像google.com这样的普通页面上,它会向我发送数据并关闭连接,我会立即得到响应。

UPD:请注意,服务器以分块传输编码方式发送数据。我想服务器没有问题,因为所有其他客户端(例如.NET 4.0)都可以正常使用这个流。

0 个答案:

没有答案