![]() |
TSocketConnection vs. TIdTCPClient
Hallo,
die Aufgabenstellung ist über eine TCP-Adresse und Port eine Abfrage (per XML-codiertem Telegramm) an eine Daten-Schnittstelle zu stellen und dann als Antwort XML-Daten zurück zu erhalten. Die Daten-Schnittstelle (der Server sozusagen) wird also von einer Fremdfirma betrieben. Meine Aufgabe ist nun den Client zu entwickeln der die Daten abfragt. In einer alten Delphi Applikation haben wir dafür die ICS-Komponenten (konkret TWSocket / ![]() Auch nach stundenlanger Suche im Internet habe ich keine Beispiele gefunden die ein mehr oder weniger aussagekräftiges Beispiel für die Komponenten TSocketConnection oder TIdTCPClient zeigen. Wenn ich es richtig sehe, dann macht es Sinn im Zusammenhang mit TSocketConnection auch die Komponenten TXMLTransformClient und TXMLTransformProvider zu verwenden. Nur, wie "verknubbelt" man dann die entsprechenden properties und events dieser drei Komponenten? Die Deluxe-Lösung wäre natürlich ich könnte durch die zurück gelieferten XML-Daten in einem ClientDataSet durch laufen, um Datensatz für Datensatz abzuarbeiten. Konkrete Fragen zusammengefasst: 1) Welche der Komponenten TSocketConnection oder TIdTCPClient (kombiniert mit TXMLTransformClient und TXMLTransformProvider) ist für die Aufgabestellung besser geeignet? Gibt es dazu Beispiele? 2) Welche Komponenten benötigt man, um durch die zurück gelieferten Daten in einem ClientDataSet zu laufen? Gibt es dazu Beispiele? Vielen Dank im Voraus. |
AW: TSocketConnection vs. TIdTCPClient
TIdTCPClient ist gut geeignet wenn man sich ein eigenes Protokoll oder ein nicht bei Indy standardmäßig enthaltenes realisieren will.
Für XML / Web Services ist allerdings meist HTTP(S) im Einsatz. Es wäre daher zu prüfen ob der Kunde HTTP(S) einsetzt, dann kann man die Indy Komponente TIdHTTP einsetzen. Damait spart man die Neuimplementierung dieses Protokolls. p.s. falls es nicht HTTP(S) ist, dann ist der Aufruf mit TIdTCPClient trivial - es gibt darin Methoden um die Daten entweder mit vorangestellter Längenangabe oder mit einem Terminator (z.B. ein Nullbyte) zu senden und zu empfangen. |
AW: TSocketConnection vs. TIdTCPClient
1) TIdTCPClient ist auch nur eine Drittkomponente, auch wenn sie mitgeliefert wird.
1a) solltest Du die verwenden wollen, kommt etwas/einiges an Umgewöhnung auf Dich zu. 2) TSocketConnection hat laut OH etwas mit DataSnap zu tun und dürfte am Ende auch Indy sein. Dann lieber direkt TIdTCPClient verwenden. 3) Die größte Zeitersparnis dürfte sein, bei den ICS zu bleiben. Daran ist nichts anrüchiges zu finden. Sherlock |
AW: TSocketConnection vs. TIdTCPClient
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:49 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 by Thomas Breitkreuz