Wenn ReceiveBuf -1 zurückgibt, dann heißt dass das keine Daten gelesen wurden. Wenn aber SendBuf -1 zurückgibt, dann heißt dass das keine Daten gesendet werden konnten, weil der interne Buffer des Winsock-Systems voll ist(was hier höchstwahrscheinlich der Fall ist). Versuch doch mal
jede SendBuf-Anweisung durch folgende zu ersetzen:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| . . . while SendBuf = -1 do Application.ProcessMessages; . . . |
-> Diese Variante ist sehr aggressiv und versucht sehr häufig hintereinander die Daten in dem Buffer zu platzieren. Aus diesem Grund wäre es ratsam (vor allem bei langsamen Verbindungen) das Programm noch zusätzlich warten zu lassen.
mfg noeppel