Thema: Socket Buffer

Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#1

Socket Buffer

  Alt 20. Jun 2010, 17:31
Ahoi liebe Gemeinde,
Habe schon lang nichts mehr gefragt
Problematischerweise weiß ich jetzt überhaupt nicht, wie ich meine Frage direkt stellen oder mein Problem erläutern soll.. Ich versuchs mal

Also was genau geschicht eigentlich beim Empfänger, wenn man Daten über ein Socket, das per winsock.socket() erstellt wurde, via send() schickt. Ich würde genau wissen wollen, wo sich dann die Daten befinden? Gibts da ein "Buffer", in der die Daten dann eingesammelt werden? Falls ja, wie groß ist der Buffer? Wird der Buffer überschrieben, wenn neue Daten kommen und die alten Daten noch nicht ausgelsen wurden? Wie kann man das verhindern?

Problem: Wenn ich zb. ein Http-Request mache und auf Antwort warte - und zwar in ner Schleife, die per Recv() Daten empfängt, geschieht es manchmal - wenn ich zB. debugge, dass Recv() nicht alles empfängt, oder mitten beim Empfangen aufhört - dh. wenn zB. normalerweise 3x empfangen werden muss, hört er beim 2 Mal auf.
Ich schätze mal, der "Buffer", in dem alle empfangen Daten sind, die durch Recv() dann irgendwie ausgelesen werden, wird durch die Daten, die vom Server ankommen, überschrieben. Komischerweise hab ich das Problem nicht, wenn ich die Größe der zu empfangenen Bytes vergrößere.

Das ist alles nur vage und ich kanns mir irgendwie nicht erklären. Hoffe auf Erleuchtung.

Danke schon mal im voraus,
MfG
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat