![]() |
Daten lesen mit Indy
Hallo liebe DP-Gemeinde,
ich bin noch sehr neu in Delphi und stoße bei den Indy-Komponenten immer wieder auf Probleme. Auch beim Schlaulesen komme ich zur Zeit nich voran. Folgende Situation: Ich habe einen WLAN Server der permanent kleine Strings verschickt die mit einem "$"eingeleitet werden und mit einem "<CR><LF>" beendet werden. Dazwischen stehen jeweils die für mich relevanten Informationen. Mein Programm stellt nun den richtigen Port und die richtige Host-IP ein, verbindet sich mit dem Server und bestätigt mir die Verbindung. Nun soll es als nächstes jeweils eine Zeile vom "$" bis zum "<CR><LF>" einlesen und in die Variable "connectstring" übergeben, welche dann widerum im PackageProcess in ein Memofeld geschrieben wird. Dann soll die nächste Zeile in den Buffer bis zum entsprechenden "<CR><LF>, welches wider das überschreiben in die Variable einleitet u.s.w. Hier nun meine Fragen: 1.) Wie realisiere ich, dass die Infos in den Buffer geschrieben werden und auf das entsprechende Signal in den connect String übergeben wird. Nehme ich dafür z.B. den TIdIOHandlerStream oder besser TIdIOHandlerStack und wie realisiere ich die Start und Stoppanweisung? 2) Mit welcher Anweisung kann ich ein sofortiges schreiben der Info als neue Zeile in das Memo realisieren? Meine Vermutung ist das ich ein "onChange" für die Variable als Auslöser nehme und dann mit: Memo.Lines.Add (InterfaceProcess.ConnectString); die jeweilige Zeile dazuschreibe. Spricht da etwas gegen? Vielen dank für eure Unterstützung. |
AW: Daten lesen mit Indy
Zitat:
|
AW: Daten lesen mit Indy
Ich hatte kürzlich hier:
![]() gerade mal ein paar Threads gesammelt... Da ist auch ein Testprojekt dabei, das verschiedene Arten der Übertragung versucht und in einem Memo logt. Vielleicht hilft das schon mal etwas weiter... Ich schreibe aktuell in meinem Client 1 bis n Anweisungen in eine StringList, schreibe die gepackt in einen Stream, packe die auf dem Server wieder aus in eine Stringlist und schicke 1 bis n Antworten auf dem gleichen Weg zum Client zurück. Bisher funktioniert das wunderbar und ist sehr komfortabel zu nutzen. Wichtig ist, möglichst nicht für jede Anfrage eine neue Verbindung aufzubauen. Besser, einige Anfragen sammeln und im Block übertragen (jedenfalls wenn es sonst zu viele Verbindungen würden). |
AW: Daten lesen mit Indy
Vielen dank für die schnelle Reaktion auf meine Anfrage. Ich habe dieThreads (zum Teil auch schon vorher) durchgeschaut und zum Teil Codepassagen getestet und komme trotzdem noch nicht auf den grünen Zweig.
Mein Problem ist, dass der Server ein gekauftes Bauteil ist und permanent Daten ins Netz feuert. Ich will diese empfangen ohne das der Server auf eine request reagieren würde und diesen string in eine Variable stecken (Zunächst dann in ein Memo aber letztendlich dekodieren - es handelt sich um nmea0183 Daten). Der Server ist folgender: ![]() Mein aktuelles Programm habe ich unten einmal in ne Dropbox gepackt. Die Verbindung wird im connector aufgebaut. Was kommt dann? Ich hoffe es kann mir da nocheinmal jemand helfen? Fehlen mir irgendwelche Units um die entsprechenden Anweisungen zu nutzen? Da es um die Verbindung zu einem Androidtablett geht, komme ich um Indy nicht herum oder? ![]() Vielen Dank schonmal! |
AW: Daten lesen mit Indy
Sorry, da bin ich raus.
Ich denke, Indy ist dafür nicht das richtige - aber ich kann da nur orakeln... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz