Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Indy 10 TidTcpServer Problem Lesen von Binärdaten vom Client (https://www.delphipraxis.net/80874-indy-10-tidtcpserver-problem-lesen-von-binaerdaten-vom-client.html)

CaptainMemo 16. Nov 2006 17:04


Indy 10 TidTcpServer Problem Lesen von Binärdaten vom Client
 
Hallo Entwickler,

ich stehe vor einem "kleinen" Problem. Ich habe einen TCP Server (TidTcpServer) aufgesetzt der von einem Linuxclient eine vorher nicht bekannte Anzahl von Bytes geschickt bekommt.

Im OnExecute möchte ich alle Daten einlesen und an eine Funktion zur Verarbeitung als Bytearray übergeben.

ich dachte mit
bData:= AContext.Connection.IOHandler.AllData

würde ich alle Daten auslesen und der Funktion übergeben können, scheint aber nicht so zu sein. Bekomme ich z.B.: 18000 Bytes gesendet, dann habe ich in bData z.B. nur 8000 Bytes.

Wie kann ich alle Bytes auslesen um sie an eine andere Funktion zu übergeben?

Danke für die Hilfe.

marabu 16. Nov 2006 17:53

Re: Indy 10 TidTcpServer Problem Lesen von Binärdaten vom Cl
 
Hallo,

AllData ist vielleicht keine so gute Idee:

Indy 9 Reference : TIdConnection : AllData()
... Do not use AllData unless the protocol you are using works in this manner. Protocols which support AllData include Finger, Quote of the Day, and WhoIs.

Die etwa 8.000 Byte könnten gerade der Inhalt des ersten Pakets sein, welches du erhalten hast. Probiere doch mal ReadBuffer().

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz