Прежде всего, я хочу пояснить, что я не имею в виду одновременную трансляцию потока TCP / IP, я хочу взять выходные данные потока c # и сделать так, чтобы он передавался нескольким адресам.
Например, если у меня есть FileStream (fs) и MemoryStream (ms) и FtpStream (ftps), и я сделал что-то вроде
...
SuperStreamWriter ss = new SuperStreamWriter(fs, ms, ftps);
ss.Write(helloWorld, 0, helloWorld.length);
}
class SuperStreamWriter : Stream
{
Stream[] _s;
public SuperStreamWriter(params Stream[] s)
{
_s = s;
}
public override void Write(byte[] buffer, int offset, int count)
{
foreach (Stream s in _s)
{
s.Write(buffer, offset, count);
}
}
//Other functions cut for example
}
Привет, мир будет вытолкнут во все три моих потока. Кто-нибудь знает что-нибудь, что даст мне схожую функциональность с тем, что я описываю другим, используя этот цикл foreach в буфере? Кроме того, если цикл foreach является моим единственным / лучшим вариантом, будет ли безопасно обрабатывать каждую итерацию цикла foreach как есть?