AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Eigene Objekte via tcp versenden

Ein Thema von jasperF · begonnen am 17. Apr 2014 · letzter Beitrag vom 17. Apr 2014
Antwort Antwort
jasperF

Registriert seit: 17. Apr 2014
4 Beiträge
 
#1

Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 08:01
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.291 Beiträge
 
Delphi XE7 Professional
 
#2

AW: Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 08:10
Hallo,

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

Du musst die Daten des Objects serialisieren.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
jasperF

Registriert seit: 17. Apr 2014
4 Beiträge
 
#3

AW: Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 08:23
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
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.291 Beiträge
 
Delphi XE7 Professional
 
#4

AW: Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 08:28
.. hier ist eine recht gute Erklärung zu finden.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#5

AW: Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 08:38
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.
  Mit Zitat antworten Zitat
jasperF

Registriert seit: 17. Apr 2014
4 Beiträge
 
#6

AW: Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 09:07
..der XML- Ansatz klingt gut. Wie kann ich denn mein Objekt
in ein XML-Objekt konvertieren bzw. dieses somit serialisieren?


Gruß

Jasper
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#7

AW: Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 09:30
Eine nette Hilfe, mit eine paar Bugs die man ausbauen kann findet man hier

http://robstechcorner.blogspot.de/20...oring-svn.html
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
jasperF

Registriert seit: 17. Apr 2014
4 Beiträge
 
#8

AW: Eigene Objekte via tcp versenden

  Alt 17. Apr 2014, 15:47
Vielen Dank für eure Hilfe: Serialisieren war das Stichwort.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2019 by Daniel R. Wolf