Hallo zusammen
Ich habe eine Frage die die TCP-Datenpakete betrifft, wenn ich mit C#
Strings übers Netzwerk schicke:
Ich erstelle mir ein TcpClient-Objekt von dem ich den NetworkStream hole
über welchen ich dann kommuniziere.
1 | TcpClient server = new TcpClient("169.254.80.129", 2111);
|
2 | NetworkStream ns = server.GetStream()
|
Wenn ich nun über den Stream einen String rausschicken möchte, muss ich
ja den String in bytes encoden, da ns.Write() nur bytes als Daten
akzeptiert.
1 | String data = "Hallo";
|
2 | ns.Write(Encoding.ASCII.GetBytes(data), 0, data.Lenght);
|
Wenn ich dies tue habe ich aber das Problem, dass ich die beiden Flags
STX und ETX die in meinem TCP-Datenpaket signalisieren wo Text beginnt
und wo er wieder aufhört, fehlen. Ich dachte C# würde diese Flags beim
encoden automatisch anhängen, dem ist aber nicht so.
Nun meine Frage an euch: Wie kann ich erreichen dass bei meinen Strings
diese Flags mitgeschickt werden? Ideen, Anregungen?
Gruss
Pasci