我有一个提供System.IO.Stream实例的生产者。 我也有几个使用此流的客户端。
是否可以为每个客户提供流的“私人视图”?例如,如果clientA从流中读取,它不会影响clientB看到的位置(即,如果clientB开始从流中读取,则它从它开始,而不是从clientA离开该位置的位置)。 如果它有任何区别,客户端只会从流中读取。
希望它有意义。
提前致谢, 麦克
答案 0 :(得分:2)
我认为你需要创建自己的自定义“TssStream”来处理从源流到多个流的缓冲。
您需要从Stream覆盖的方法数量仅限于处理只读,但协调每个客户端(可能通过帮助程序)需要稍加考虑的地方。
答案 1 :(得分:1)
您可以从Stream
继承一个类,该类接受构造函数中的基础流,并跟踪该私有视图实例的位置。仅当基本流可搜索时才有效。
答案 2 :(得分:0)
您可以通过读取流,缓存数据并为每个客户端的缓存打开新流来实现此目的。