Einzelnen Beitrag anzeigen

wisher

Registriert seit: 28. Okt 2004
17 Beiträge
 
#1

TIdTCPClient (Indy10)

  Alt 29. Okt 2010, 16:50
Hallo,

es gibt anscheinend 100 verschiedene Möglichkeiten über den Indy 10 TIdTCPClient Daten zu empfangen.
Kurze Problembeschreibung: Ich habe einen TCP Server (Fremdprodukt) von dem möchte ich mit meinem Programm Daten auslesen.

Erster Ansatz war wie folgt:

Code:
      with IdTCPClient do
      begin
         IOHandler.CheckForDataOnSource(500);
         if (not IOHandler.InputBufferIsEmpty) then
            empfangenerString:= IOHandler.InputBufferAsString;
      end;
Funktionierte auch ganz gut, nur merkte ich, dass die Größe des empfangenen Textes immer gleich groß ist, egal wie lange ich damit warte die Daten auszulesen. Was für mich bedeutet, dass da nicht
gepuffert wird. Es gehen also Daten verloren.

Wie empfange ich also am geschicktesten Daten über eine Socketverbindung, ohne dass Daten verloren gehen?

Viele Grüße
Sascha.
  Mit Zitat antworten Zitat