Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Tlist per Socket schicken, ist es möglich...!? (https://www.delphipraxis.net/63801-tlist-per-socket-schicken-ist-es-moeglich.html)

m0sch3r 23. Feb 2006 04:01


Tlist per Socket schicken, ist es möglich...!?
 
Tach an alle,

In meiner Anwendung sollen Arrays per socket(UDP) verschicket verden.
est ist folgende Struktur:
Delphi-Quellcode:
TUDPPacket  =record
                    id              : integer;
                    DUFile          : TDUFile;


TDUFile    = record
                      MD5             :  String;
                      Size           :  String;
                      FileName       :  String;
                      From           :  TList;
                    end;
Der Tatsache wegen daß Tlist nur Zeiger enthält, ist die Frage ob es Sinn mancht ein Array mit Zeigern zu veschicken... da sie ihre Geltung verlieren werden.
Tut mir leid wer die Frage lüstig findet...)))))

Pseudemys Nelsoni 23. Feb 2006 06:44

Re: Tlist per Socket schicken, ist es möglich...!?
 
Hm, also ich finde die Frage mal recht interessant, mal sehen was für Antworten es geben wird..

Ich denke allerdings nicht das es funktioniert, bzw das senden selbst sollte kein Problem sein, aber die Pointer werden wie du schon sagtest auf dem Zielcomputer kaum geltung haben.

Meiner Theorie nach, könnte es möglich sein, auf dem Remotecomputer so eine Klasse anzulegen und dann die Daten vom Localcomputer an den Remotecomputer zu senden.... Wie das praktisch aussieht weiss ich aber nicht.

Bernhard Geyer 23. Feb 2006 07:05

Re: Tlist per Socket schicken, ist es möglich...!?
 
Zitat:

Zitat von m0sch3r
Der Tatsache wegen daß Tlist nur Zeiger enthält, ist die Frage ob es Sinn mancht ein Array mit Zeigern zu veschicken... da sie ihre Geltung verlieren werden.
Tut mir leid wer die Frage lüstig findet...)))))

Stichwort: Serialisierung.
Ähnlich der nötigen "Umwandlung" beim Speichern solcher Informationen in einem Stream/ einer Datei ist es beim Verwenden per Socket nötig diese Daten zu Serialisieren. Es sollte als Möglich sein mit den gleichen Load/Save-Methoden wie zur Speicherung in einer Datei zu arbeiten

Sebastian R. 23. Feb 2006 12:07

Re: Tlist per Socket schicken, ist es möglich...!?
 
Man kann generell records per Sreams versenden. Ob man diesen Stream in eine Datei schreibt, per TCP oder UPD sendet ist absolut egal. Die String-Werte sollten dann aber nicht offen groß sein, sondern begrenzt (sTest: String[255]). Dann kann man per Stream die Teile versenden:

Delphi-Quellcode:
IdUPDClient1.WriteStream(@record);
MfG, Sebastian R.

m0sch3r 23. Feb 2006 12:12

Re: Tlist per Socket schicken, ist es möglich...!?
 
Danke für die Antworten..)))


Die Frage ist was dann mit TList passiert..!? werden die werte auch übernommen.!?
vor allem das Tlist. eine varialbe anzahl von werten hat..

Sebastian R. 23. Feb 2006 12:14

Re: Tlist per Socket schicken, ist es möglich...!?
 
Ja, aber nur wenn TList sich genauso verhält wie die anderen Records sprich wenn überall die Größe angegeben ist. :zwinker:


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