AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Client-Server Datenaustausch
Thema durchsuchen
Ansicht
Themen-Optionen

Client-Server Datenaustausch

Offene Frage von "Delrabe"
Ein Thema von Delrabe · begonnen am 12. Nov 2024 · letzter Beitrag vom 13. Nov 2024
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Client-Server Datenaustausch

  Alt 12. Nov 2024, 16:12
Für mich klingt das so, als wäre man mit einem REST-Server ganz gut bedient. Dann braucht man auch nicht zwingend eine FMX-App, ein handelsüblicher Webbrowser genügt als Client. Dazu muss der Server zwar öffentlich erreichbar sein, das ist bei Deiner Lösung aber auch nicht anders. Ggf. nach Anmeldung durch den Endkunden könnten dann die Fragen und die zugehörigen Antworten direkt aus der Datenbank gelesen und an den Client übertragen werden (üblicherweise im JSON-Format). Welche Antwort ausgewählt wurde, wird dann wieder an den Server zurückgesendet und die nächste Frage samt Antworten abgefragt, der Server trägt die Antwort direkt in die Datenbank ein ohne irgendwelche Zwischenprogramme.
Für REST mit Delphi gibt es mittlerweile einige Frameworks, z.B. mORMot, DMVC oder TMS WebCore (zufällige Auswahl ohne Wertung und Anspruch auf Vollständigkeit).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.644 Beiträge
 
#2

AW: Client-Server Datenaustausch

  Alt 12. Nov 2024, 16:21
Wir haben für solche Szenarien den RelayServer als Open-Source Lösung entwickelt: https://github.com/thinktecture/relayserver

Zentral läuft irgendwo der RelayServer. Das kann auf einer gemieteten VM oder in der Cloud sein.
Bei den Endkunden vor Ort läuft jeweils ein Connector.
Der Connector verbindet sich mit einer ständigen Realtime-Verbindung mit dem Server.

Dann können HTTP-Requests an den RelayServer geschickt, und dabei ein Connector gezielt adressiert werden.
Der Request geht dann über die Realtime-Verbindung zum Connector, der macht den gleichen Request lokal gegen eine HTTP-API und die Antwort wird dann wieder via dem RelayServer an den Client gesendet, der die ursprüngliche Anfrage geschickt hat.

Somit müssen am Ziel keine Firewalls konfiguriert, Portfreigaben eingerichtet und irgendwelche DynDNS-Sachen registriert werden. Es sind ausschliesslich die Endpunkte im lokalen Netz erreichbar, die explizit im Connector freigegeben sind und der Zugriff auf den RelayServer kann auch über so ziemlich alle gängigen Authentication-Methoden abgesichert werden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Delrabe

Registriert seit: 17. Aug 2009
11 Beiträge
 
#3

AW: Client-Server Datenaustausch

  Alt 13. Nov 2024, 10:11
Hallo,
danke für die Antworten.

@DeddyH: Diese Möglichkeit scheidet leider aus. Es müssen diverse sehr unterschiedliche Layouts abgebildet werden und das ist ziemlich kompliziert. Es geht hier auch nicht darum, Antwort-Statistiken zu erstellen, sondern die jeweiligen Antworten sollen zeitnah graphisch dargestellt werden.

@Phoenix: Diese Möglichkeit werde ich in Betracht ziehen. Ich verstehe es aber noch nicht so richtig und ich weiß auch nicht, ob das für uns eine Lösung ist.
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 11:51 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-2025 by Thomas Breitkreuz