Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.178 Beiträge
 
Delphi 12 Athens
 
#2

AW: Dateien von einem virtuellen Server holen

  Alt 5. Mai 2021, 17:28
Nja, was für Protokolle du nutzt .... da hast'e die Qual der Wahl.

Bei uns läuft es über DataSnap (mit entsprechenden Methoden, z.B. ReadFile, WriteFile usw.), wo die ServerMethoden das als TStream (TFileStream/TMemoryStream) im Result zurückliefern.
Ähnlich DataSnap gibt es auch andere Frameworks, wo man "Funktionen" aufrufen kann und sich das Framework um alles kümmert. (z.B. Hier im Forum suchenmORMot wird hier immer beworben)

Oder ein REST-Server, weil ist hipp, cool und machen alle so (z.B. ID rein und Base64-kodiert im JSON die Datei zurück)
Hatte ich jetzt bei uns im DataSnap nachgerüstet, also zusätzlich REST als Protokoll für den Funktionsaufruf, damit auch unsere WebAnwendung auf Dateien zugreifen kann,
aber da geht auch jede andere REST-Implementation. (bei uns einfach auf's DataSnap drauf, um im Server das nur einmal implementiert zu haben, aber mit zwei Schnittstellen nach außen)

Oder ein richtiges FileProtokol, wie FTP (TIdFTPServer), WebDAV oder Dergleichen.
Das kann im Server auch "virtuell" sein und muß nicht direkt auf ein Verzeichnis gehn. Im "Pfad" steht dann quasi die ID/Dateiname/Sonstwas, um die entsprechende Datei/Daten von irgendwo zu holen.

Auch ein HTTP-Server (TIdHTTPServer) wäre möglich, ähnlich dem FTP. (Pfad -> Datei)

Oder ganz billig TCP/IP (TIdTCPServer), aber hier ist alles "ein" Stream und du mußt dich dann selber um alles kümmern
(Authentifizierung, Behandlung der Daten im IN/OUT-Stream, also ID/Pfad übergeben und Dateihinhalt zurück, usw.),
also deine Daten entsprechend zu kodieren und drüben wieder einzulesen und womöglich während einer Anfrage mehrer Dateien übertragen.
(man könnte aber auch nach jeder Übertragung die Verbindung trennen)

Oder ...


Aber wenn man ein "ordentliches" Framework genutzt wird, dann nimmt es dir erstmal viel Arbeit ab, und du hast später auch die Möglichkeit das für andere/weitere Dinge zu nutzen, und nicht nur für Dateien.




Ob Rechner/Server, VM, Docker oder sonstwo, ist egal. Dein Server wird einfach nur mit der entsprechenden IP oder "ComputerNamen" angesprochen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 5. Mai 2021 um 19:17 Uhr)
  Mit Zitat antworten Zitat