Hey,
ich bin seit geraumer Zeit an einem merkwürdigen Problem. Ich konnte es soweit eingrenzen, dass ich rausfinden konnte, dass es mit dem Stream zusammen hängt.
Und zwar schreibe ich einen Int-Wert in einen Stream und möchte diesen hinterher wieder herauslesen. Dabei erhalte ich einen völlig anderen Wert.
Code zum schreiben ist:
|
C#-Quelltext
|
1
2
3
4
|
MemoryStream ms = new MemoryStream();
StreamWriter sw = new StreamWriter(ms);
sw.Write(13);
sw.Flush();
|
Code zum lesen ist:
|
C#-Quelltext
|
1
2
|
byte[] b = new byte[4];
ms.Read(b, 0, 4);
|
Wenn ich nun über BitConverter.ToInt32(b,0) den Int-Wert aus dem Buffer holen möchte, bekomme ich 0 zurück gegeben. Ich habe vorher schon recht viele andere Dinge probiert und das ist jetzt so der letzte Versuch gewesen.
Die Sache ist, dass ich für eine Netzwerkanwendung Daten in den Stream schreiben möchte, daraus ein Byte Array generiere, diese sende und auf der anderen Seite wieder auslese. Für einfaches zusammensetzen der Nachrichten wollte ich gerne Streams verwenden, aber wie gesagt die arbeiten grad nicht so wie ich das eigentlich möchte
So langsam weiß ich auch nicht mehr was ich testen sollte. An sich sollte es aber eine recht einfache Sache sein und ich bin mir sicher, dass ich grad einfach irgendetwas übersehe.