我正在尝试做什么
我正在尝试打开与使用大气框架的流式网络服务的连接。我需要能够打开连接并等待服务发送事件,但我真的不知道如何做到这一点。
最重要的是保持连接畅通。
我的代码到目前为止
public void LiveStream()
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://api.somewhere.com");
[...]
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
using (Stream responseStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(responseStream, Encoding.UTF8);
String json = reader.ReadToEnd();
[...]
}
[...]
}
答案 0 :(得分:0)
您可以使用以下代码段:
public async void LiveStream()
{
using(var client = new HttpClient())
{
client.Timeout = new TimeSpan(SET DESIRED TIMEOUT);
string response = client.GetStringAsync("http://api.sample.com");
}
}
或使用HttpResponse
public async void LiveStream()
{
using(var client = new HttpClient())
{
client.Timeout = new TimeSpan(SET DESIRED TIMEOUT);
var response = client.GetAsync("http://api.sample.com");
if(repsone.IsSuccessStatusCode)
{
string contentJson = response.Content.ReadAsStringAsync();
}
}
}
请记住:默认TimeOut为100秒。