Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Eigene Objekte via tcp versenden (https://www.delphipraxis.net/180019-eigene-objekte-via-tcp-versenden.html)

jasperF 17. Apr 2014 09:01

Eigene Objekte via tcp versenden
 
Liebe Leute,
ich habe für ein scheinbar einfaches Problem keine Lösung:

Meine Serveranwendung hält eine Liste (TObjectList) mit benutzerdefinierten Objekten.
Der Inhalt dieser Liste- also jedes einzele Objekt- soll auf Anfrage an eine
Clientanwendung via tcp gesendet werden. Der Client wiederum packt jedes empfangene
Objekt in seine eigene Liste (TObjektList) und ist glücklich. Client und Server sind dann
synchron.

Meine Frage:

Wie kann ich benutzerdefinierte Objekte via tcp versenden?

Danke und Gruß

Jasper

Klaus01 17. Apr 2014 09:10

AW: Eigene Objekte via tcp versenden
 
Hallo,

Objekte sind Zeiger, diese per TCP zu übetragen macht wenig Sinn.

Du musst die Daten des Objects serialisieren.

Grüße
Klaus

jasperF 17. Apr 2014 09:23

AW: Eigene Objekte via tcp versenden
 
Hallo Klaus,
Danke für Deine Antwort.
Gibt es da irgendwo ein Beispiel in dem
die Daten eines Objekts eingepackt und wieder
ausgepackt werden?

Gruß

Jasper

Klaus01 17. Apr 2014 09:28

AW: Eigene Objekte via tcp versenden
 
.. hier ist eine recht gute Erklärung zu finden.

Grüße
Klaus

Dejan Vu 17. Apr 2014 09:38

AW: Eigene Objekte via tcp versenden
 
Ich würde mich an Deiner Stelle gleich mit den Standardformaten für serialisierte Objekte auseinandersetzen, also XML und JSON. Der Weg geht so:
Code:
Object ='serialisieren'=> XML/JSON [SENDER] => ...TCP... => [EMPFÄNGER] XML/JSON ='deserialisieren'=> Object
Statt XML/JSON kannst Du auch ein binäres Format nehmen. Filme werden so z.B. verschickt. Statt TCP kannst Du auch RS-232, UDP oder sonstwas nehmen.

Wenn Du ein sehr wackeliges Netzwerk hast, solltest Du noch mit Frames und Checksum arbeiten*, aber im Normalfall ist das nicht notwendig.

*auch wenn TCP/IP ein QOS anbietet, sagt meine Erfahrung, das Pferde vor der Apotheke durchaus reverse eating betreiben.

jasperF 17. Apr 2014 10:07

AW: Eigene Objekte via tcp versenden
 
..der XML- Ansatz klingt gut. Wie kann ich denn mein Objekt
in ein XML-Objekt konvertieren bzw. dieses somit serialisieren?


Gruß

Jasper

Bummi 17. Apr 2014 10:30

AW: Eigene Objekte via tcp versenden
 
Eine nette Hilfe, mit eine paar Bugs die man ausbauen kann findet man hier

http://robstechcorner.blogspot.de/20...oring-svn.html

jasperF 17. Apr 2014 16:47

AW: Eigene Objekte via tcp versenden
 
Vielen Dank für eure Hilfe: Serialisieren war das Stichwort.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:29 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