你能在异步文件流上有一个计时器吗?只有在收到任何东西时才会倒计时?

时间:2014-10-06 15:09:17

标签: c# timer async-await filestream

我使用基本文件流通过hid.dll读出outputReportBuffer。

在设置时,我会实时接收消息并在程序中显示数据。 目前我正在努力寻找一个定时器的解决方案,该定时器应该从我停止从文件流接收消息开始。

文件流中是否有任何触发器可用于检查是否还有消息通过?

try
{
    readTrigger = true;
    while (readTrigger)
    {
        await fileStreamDeviceData.ReadAsync(outputReportBuffer, 0, outputReportBuffer.Length);
    }
}
catch (Exception ex)
{
    throw ex;
}

这就是我使用文件流的方式,它一直在为我工作而没有任何问题,直到现在我需要某种触发/计时器来查看是否还有消息通过

非常感谢任何关于如何做得更好或者指向正确方向的建议。

1 个答案:

答案 0 :(得分:1)

ReadAsync接受取消令牌。您可以传入一个令牌,该令牌会在一段时间后取消。如果任务最终被取消,那么您将知道读取超时并可以相应地做出响应。