Suche eine Function zum auslesen eines Buffers
-
Ich programmiere gerade einen Server-Client Model in C.
Zu meinem Problem.
Ich versuche gerade eine Befehlroutine zu implementieren. D.h. ich schicke Befehle an den Server per Socket und will nun die Befehle auf der anderen Seite verarbeiten.Ich hab einen char buf[1024] in den die Befehle wandern. Ich bekomme auch die Anzahl der Byte die Empfangen wurden.
Die Befehle können auch aus mehren Parametern bestehen.
z.B. give price 23
Wie zerlege ich das am besten?Wie resete ich den buf wieder?
z.B.
Ich schicke:
Das ist ein Test
Ausgabe:
Das ist ein Test
Ich schicke:
Hallo
Ausgabe:
Hallost ein TestMir ist klar warum das so ist weil der String mit \0 Terminiert wird.
Ich hab mir überlegt jedem Befehl beim Senden ein \0 anzuhängen. Oder gibts da eventl. ne bessere Lösung.
Thx 4 HELP
-
Zed(gast) schrieb:
Ich hab mir überlegt jedem Befehl beim Senden ein \0 anzuhängen. Oder gibts da eventl. ne bessere Lösung.
kannste so machen oder du nimmst ein anderes trennzeichen, irgendwas, das in deinen kommandos nicht vorkommt. wenn ein kommando aus mehreren wörten besteht, bietet sich noch ein zeichen für zeilenende an. damit sollte es der server prima parsen können.