Registriert seit: 15. Jul 2004
336 Beiträge
Delphi 7 Professional
|
Re: WinSock: recv()-Puffer wird überschrieben
27. Aug 2006, 13:55
Sorry, Bernhard Geyer, aber ich verstehe absolut nicht, was das mit meinem Problem zu tun haben soll.
Normalerweise sollte BytesRead die Länge eines strings (= ein Datenpaket des CLients) haben. Jedoch erreicht BytesRead ständig MAXLEN, da im Puffer von recv() mehr als ein Datenpaket enthalten ist. Der Client sendet seine Datenpakete so schnell, dass der recv()-Puffer zwischen dem ersten Mal Auslesen und dem nächsten erfolgreichen select() mehr als nur ein Datenpaket vom Client enthält.
Sehr schön wäre es z.B., wenn ich select() als blocking call (@FTimeVal = nil) außerhalb des Threads beenden könnte. Ich weiß leider nicht, ob und wenn, wie das geht.
|