Hi,
sind StreamWriter sicher? also wenn 2 im selben Moment auf den selben Stream ausgeben(Flush()) kann es dann zu Fehlern kommen oder wartet einer bis der andere fertig ist?
Mit Streams hast du immer Probleme wenn mehrere Threads auf diesen zugreifen. Der eine Thread schreibt im Moment 4096 bytes an die Position x, Thread 2 setzt die Position auf y und schreibt auch 4096 bytes in den Stream. Der Inhalt sieht auf jedenfall danach sehr lustig aus.
Um das ganze zu Umgehen, ist es wichtig, das der Zugriff auf den zugrunde liegenden Stream synchronisiert und threadsicher erfolgt. Dabei ist wichtig, das immer nur eine Funktion (egal ob synchron oder asynchron) auf den Stream zugreift.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
hm stimmt, ich greif einfach nur in einem Thread drauf zu ^^ dann ist das ja alles geregelt
Ich hatte das Gefuehl, dass beim Benutzen von Network-Stream aus mehreren Threads die Daten aus den beiden Threads vermischt werden - so war das zumindest unter Mono.
Mir war das aus Versehen passiert, da ich wusste, dass alle Socket Methoden threadsicher sind - insofern hatte ich erwartet, dass dann auch Network-Steam threadsicher ist, aber dem ist nicht so...
Ein lock um den Zugriff rum ist ja nicht so schwer/schlimm...