PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Socket-Buffer Problem



Shack
30-10-2003, 18:18
Hallo zusammen,

arbeite gerade an einem Clientprozess.
Wenn dieser Client vom Socket liest mit read() zB. 32 Byte habe ich in meinem
Lesebuffer immernoch die alten Bytes, so das die neuen 32 Byte ans Ende von meinem String ( char buf[96] rangehängt werden .

Ich suche jetzt nach einer Möglichkeit diese Problem zu lösen. Vieleicht geht es indem man den Empfangsbuffer nach dem lesen zusätzlich lehrt. Obwohl der ja eigentlich leer sein müsste.

Ich gebe zu klingt ziemlich komisch, aber es ist so.

Vieleicht hat ja jemand von euch eine Idee.

Vielen Dank im Voraus

Taktloss
30-10-2003, 22:19
Was du suchst ist memset ;)
Einen buffer kannst du so wieder leeren: memset(buffer, 0x00, sizeof(buffer))
MfG. Takt

Shack
31-10-2003, 07:38
vielen Dank, aber ich meine nicht den buffer den ich read() übergebe.
Der ist bei mir eh eine lokale Variable.

Ich meine den TCP Empfangsbuffer. Der hat nach dem Auslesen immernoch Bytes
vom letzten Auslesen gespeichert.

Taktloss
31-10-2003, 13:49
Mhhh, da habe ich dich wohl falsch verstanden :( weis nicht genau wie und ob das überhaupt geht aber flush() wirst du denke ich schon ausprobiert haben!?
MfG: Takt

Shack
31-10-2003, 18:01
yep, hab ich . Funzt aber nicht.