【发布时间】:2012-04-29 06:06:49
【问题描述】:
我在专用 LAN 网段中有许多设备(IP 摄像机)连接到 PC。设备支持使用 HTTP 协议的单个 JPEG 帧传输。 我需要尽可能同时向所有设备发送 HTTP 请求。取回图像可能需要不同的时间,这没有区别。现代中级 CPU 上的第一个和最后一个请求之间的几毫秒会很好。 (我知道,我使用的是非实时系统)。
设备的峰值数据传输速率约为 50 Mbps,PC 连接到 LAN 段为 1000Mbps。设备数量约为十个。 HTTP 请求的典型大小约为 150 字节,响应为 40..200 KB。
现在我使用WebClient 类的DownloadDataAsync 方法,每个设备都有一个实例。但是有没有更有效的方法?
【问题讨论】:
-
效率更高是什么意思?
DownloadDataAsync不能满足您的需求吗? -
例如,使用
HttpWebRequest花费更少的时间(大约10%)来完成整个请求-响应。此外,某些WebClient行为取决于 Internet Explorer 设置。但最重要的是多个请求之间的最小延迟。
标签: c# .net http networking asynchronous