我无法关闭与'multipart / x-mixed-replacement'MJPEG视频流的连接。它具有无限的内容长度,因为它是实时视频,因此流将永远不会完成。以下是我用来抓取流的以下代码示例
var httpClient = new HttpClient();
var response = await httpClient.GetAsync(url, HttpCompletionOption.ResponseHeadersRead
response.EnsureSuccessStatusCode();
var stream = await response.Content.ReadAsStreamAsync();
奇怪的是,如果我在Chrome中使用此网址(http://212.42.54.136:8008/mjpg/video.mjpg?camera=1)15次,我将收到此错误“已连接的最大客户端数量”。如果我打开Fiddler并选择“中止会话”,我将能够打开另一个连接。
我如何使用HttpClient“中止会话”,就像他们在Fiddler中一样?
答案 0 :(得分:0)
您应该处理所有对象,例如:
stream.Dispose();
response.Dispose();
httpClient.Dispose();
顺便说一下。如果您有兴趣,CodePlex上有一个新的c#库,用于在Windows RT(Winodws 8.1和Windows Phone)上运行的MJPEGDecoder。您可以找到项目here。