0

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

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

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

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

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

4

1 回答 1

1

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

请参阅构建一种新型流

于 2013-07-20T23:01:54.420 回答