如何在.Net4中模拟带有间歇数据的MemoryStream的SerialStream



我正在处理一个将使用SerialStream的项目。这是SerialPort.BaseStream。出于测试和一般数据模拟的目的,我有时想用MemoryStream替换该流。

SerialStream是一个动态流。它将保持打开,连接的BinaryReader将愉快地阻塞ReadByte,直到下一个字节进入串行端口。这是一件好事。

我的问题是MemoryStream是一个固定的实体。您必须预先填充数据,重置BaseStream’s位置,然后开始读取。但现在您无法添加下一轮数据。

有没有MemoryStream的现有版本或衍生版本可以让我模拟动态流?我的目标是向解析例程传递一个流,它不知道串行端口、网络端口或内存管道的根本区别。

我不断回到基本问题,即如何处理使用内存流的进程之间的数据连续消耗和供应。

不久前,我不得不做一些非常类似的事情,并提出了我所称的ProducerConsumerStream。基本上,它是一个带有Stream接口的循环队列。有了它,我可以将二进制读取器连接到一端,然后在另一端间歇性地添加数据。工作得很好。

请参阅构建新型流

相关内容

  • 没有找到相关文章

最新更新