我有一个生产者,它提供了一个System.IO.Stream实例。我也有几个使用这个流的客户端。
有没有可能给每个客户端一个流的“私有视图”?例如,如果clientA从流中读取,则不会影响clientB看到的位置(即,如果clientB开始从流中读取,它将获取流的开头,而不是从clientA离开该位置的位置)。如果这有什么不同的话,那就是客户端只从流中读取。
希望这是有意义的。
提前谢谢你,迈克
发布于 2009-05-04 17:31:47
我认为您需要创建自己的自定义"TssStream“来处理从源流到多个流的缓冲。
需要从Stream重写的方法的数量仅限于处理只读,但协调每个客户端(可能通过帮助器)将需要一些考虑。
发布于 2009-05-04 17:30:04
您可以从Stream
继承一个类,该类接受构造函数中的底层流,并跟踪私有视图实例的位置。只有当基流是可查找的时,这才起作用。
发布于 2009-05-04 17:30:52
您可以通过读取流、缓存数据并为每个客户端的缓存打开新的流来实现这一点。
https://stackoverflow.com/questions/821046
复制相似问题