Autor Beitrag
T.E.
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win RT, Win 7 Pro, Win 8 Pro
Delphi 2009 Enterprise, Delphi XE, Delphi XE2
BeitragVerfasst: Mo 18.02.13 12:53 
Moin moin,

ich habe ein kleines Problem mit der TClientSocket.
Und zwar möchte ich die Antwort mit Socket.ReceiveText verarbeiten.

Dabei ist mir aufgefallen, das die Länge dessen, was bei Socket.ReceiveLength herauskommt inbesondere bei längeren Antworten (ca. 8193-21000 Zeichen) von der in der Antwort mit gelieferten Länge abweicht.
Beispiel: die Antwort sollte 20796 Zeichen enthalten, angekommen sind bei mir aber nur die ersten 8192 Zeichen.
Da ich mir diese Diskrepanz nicht erklären kann hoffe ich, das mir einer von Euch dabei vielleicht mal auf die Sprünge helfen kann.

Denn soweit ich weiß sollte AnsiString ja keine wirkliche Begrenzung haben, oder???

Naja der Code mit dem ich empfange sieht (ganz unspektakulär) wie folgt aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
var
  CCAnswer: AnsiString;
begin
  CCAnswer := Socket.ReceiveText;
end;


Besten Dank im voraus.

_________________
Schöne Grüße,
Torben
Jann1k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 866
Erhaltene Danke: 43

Win 7
TurboDelphi, Visual Studio 2010
BeitragVerfasst: Mo 18.02.13 13:09 
Das Problem ist, dass nicht alle gesendeten Daten gleichzeitig empfangen bzw. ausgelesen werden können (kann schon bei kleinen Datenmengen passieren, bei großen wirds leicht auffällig). Was du brauchst ist eine Warteschleife, mit der du kontrollieren kannst, ob alle Daten da sind.

Nützlich dazu sind die Tutorials von user profile iconNarses:
www.entwickler-ecke....c_65487.html?view=dl


Zuletzt bearbeitet von Jann1k am Mo 18.02.13 13:10, insgesamt 1-mal bearbeitet
Mr_Emre_D
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 114
Erhaltene Danke: 14



BeitragVerfasst: Mo 18.02.13 13:10 
T.E. Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 31

Win RT, Win 7 Pro, Win 8 Pro
Delphi 2009 Enterprise, Delphi XE, Delphi XE2
BeitragVerfasst: Mo 18.02.13 14:02 
Ah... okay ich werd mir beide Links mal durchschauen in der Hoffnung, das sich das Problem anschließend als gelöst darstellt.

Besten Dank schon einmal.

_________________
Schöne Grüße,
Torben