Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Strukturaufbau für eine Kommunikation zwischen Geräten (https://www.delphipraxis.net/191650-strukturaufbau-fuer-eine-kommunikation-zwischen-geraeten.html)

RWarnecke 6. Feb 2017 18:00

Strukturaufbau für eine Kommunikation zwischen Geräten
 
Hallo zusammen,

ich brauche mal eure Unterstützung. Ich habe ein Gerät, welches mit meinem WLAN verbunden ist. An dieses Gerät kann ich eine HTTP-Anfrage stellen und bekomme eine XML-Struktur zurück. Der Inhalt der XML-Struktur soll in einer App angezeigt werden. Das Gerät selber hat keine Möglichkeit eine Nachricht ins Netz zu schicken, dass neue Werte in der XML-Struktur vorhanden sind. Die Werte aus der XML-Struktur sollen immer aktuell auf dem Tablet oder dem Smartphone angezeigt werden. Dabei möchte ich vermeiden, dass das mobile Device selber die HTTP-Anfrage im an das Gerät stellt. Ich möchte bei der Umsetzung nur immer die aktuellen Daten des Gerätes über die XML-Struktur auslesen können.

Welche technischen Möglichkeiten würdet Ihr für diese Anforderung nehmen ?

P.S. : Es geht nur um die technischen Möglichkeiten der Umsetzung, nicht um irgendwelchen Quelltext.

Rollo62 6. Feb 2017 18:11

AW: Strukturaufbau für eine Kommunikation zwischen Geräten
 
Da bleibt wohl nur ein kleiner Polling-Service ...

Ich hatte sowas auch mal gemacht für RS232-zu-UDP.
Das braucht dann aber einen Rechner/Server der sich drum kümmert.

Rollo

RWarnecke 6. Feb 2017 18:19

AW: Strukturaufbau für eine Kommunikation zwischen Geräten
 
Mit was würdest Du diesen Polling-Service umsetzen ? Und welche Kommunikation würdest Du vorschlagen ?

mensch72 6. Feb 2017 18:23

AW: Strukturaufbau für eine Kommunikation zwischen Geräten
 
In deinem (W)LAN positionierst du ein (Proxy)Gateway, welches selbst intelligent&zyklisch gesteuert die XML Daten "abpollt".

Deine Clients kommunizieren nur mit diesem "Gateway" und bekommen egal wie oft sie anfragen, eben immer den dort verfügbaren Dateninhalt. Wenn das Gateway nett ist, bekommt/hat es zusätzlich einen eigenen (getakteten) "Push", um "seine" Clients eventbasiert zu benachrichtigen, das (wieder) eine neue Datenaktualisierung verfügbar ist.

Um "Polling" bei dem nicht Push/Event fähigem Teil kommt man da nicht herum, alles folgende sollte man dann aber sauber Eventbasiert per Wakekup&Push auf Systemservice-Level implementieren. Für alle MobileDevices(also IOS + Android) setzen wir da auf GoogleServices (GCM oder ganz neu FCM). Sowohl für AndroidStudio & XCode als auch Delphi relalisieren wir das selbst, ohne weitere MessageProvider ala EMS zu verwenden.


Wie gewünscht, dies nur das als technisch mit vertretbarem Aufwand mögliches&sinnvolles Realisierungskonzept :)

Mavarik 7. Feb 2017 01:43

AW: Strukturaufbau für eine Kommunikation zwischen Geräten
 
Zitat:

Zitat von mensch72 (Beitrag 1360966)
In deinem (W)LAN positionierst du ein (Proxy)Gateway, welches selbst intelligent&zyklisch gesteuert die XML Daten "abpollt"...

Im Prinzip ist dem nix hinzuzufügen...

Vielleicht mit anderen Worten:

Ein Rechner holt die XML Datei zyklish ab und prüft auf Änderungen... Diese Werden dann per AppTethering an die mobilen Geräte gesendet... Oder ein UDP Broadcast "Ping" um die Geräte von der Aktualisierung zu unterrichten.

Mavarik

Sherlock 7. Feb 2017 06:53

AW: Strukturaufbau für eine Kommunikation zwischen Geräten
 
Für den Server nimm nen Raspberry Pi, der kostet kaum was, und für die Entwicklung des kleinen Poll-Services hast Du die freie Sprach-Auswahl der Linux-Welt. Als Server zum Mobile Device hast du dann ja auch freie Auswahl vom fetten Apache bis hin zu irgendwas schlankem, das gerade noch mit Deinem Device kommunizieren kann.

Sherlock

mjustin 7. Feb 2017 07:31

AW: Strukturaufbau für eine Kommunikation zwischen Geräten
 
Zitat:

Zitat von Mavarik (Beitrag 1360967)
Oder ein UDP Broadcast "Ping" um die Geräte von der Aktualisierung zu unterrichten.

Auf Smartphones könnte UDP etwas unhandlich werden.

Rollo62 7. Feb 2017 18:41

AW: Strukturaufbau für eine Kommunikation zwischen Geräten
 
RasPi ist auch eine schöne Idee :-)

Ich hatte es damals mit DdService auf einem Windowsrechner, der sowieso gleichzeitig lief, gemacht.
Die Service-Routinen haben damit ganz gut funktioniert, und das lief als Proxy und
hat die Daten eingesammelt und weiterverteilt.

Edit:
HTML war mit Indy gemacht.

Man könnte heute im 21. Jahrhundert auch AppTethering nehmen, wenn deine Clients sich immer lokal im Sub-Netz bewegen.

Jedenfalls habe ich geschaut, die letzte Version war noch von 2014, also sollte das mit modernem 10.1 Berlin auch noch laufen, habs aber nicht getestet.
Ich glaube zuletzt unter XE8.


Rollo


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