如何在.NET 4.0中处理从C#中的设备读取批量数据?具体来说,我需要从USB HID设备快速读取,该设备发出超过26个数据包的报告,其中必须保留订单.
我试过在BackgroundWorker线程中这样做.它一次从设备读取一个数据包,然后在阅读更多信息之前对其进行处理.这提供了相当好的响应时间,但它可能会丢失数据包,并且单个数据包读取的开销成本会增加.
while (!( sender as BackgroundWorker ).CancellationPending) {
//read a single packet
//check for header or footer
//process packet data
}
}
Run Code Online (Sandbox Code Playgroud)
C#中读取这样的设备的最佳做法是什么?
背景:
我的USB HID设备不断报告大量数据.数据分为26个数据包,我必须保留订单.不幸的是,设备只标记每个报告中的最后一个数据包,因此我需要能够捕获其间的所有其他数据包.