AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Delphi Android App REST hook Implementierung
Thema durchsuchen
Ansicht
Themen-Optionen

Android App REST hook Implementierung

Ein Thema von Necrotarch · begonnen am 28. Jul 2020 · letzter Beitrag vom 28. Jul 2020
Antwort Antwort
Necrotarch

Registriert seit: 31. Jan 2017
3 Beiträge
 
#1

Android App REST hook Implementierung

  Alt 28. Jul 2020, 17:45
Hey,

ich plane derzeit ein kleines Hobby-Projekt bestehend aus einem REST(-like)-Server, der mit mehreren Clients kommunizieren soll. Ganz grob umschrieben soll es einer Art LAN-Chat ähneln.

Die Option die Clients die ganze Zeit den Server pollen zu lassen hat mir nicht gefallen. Alternativ bin ich auf das hier gestoßen: https://resthooks.org

Mein Gedanke hier war in den Android Clients einen http Server laufen zu lassen, an den ich vom Server aus POSTs schicken kann.

Meine Frage ist jetzt: Hat das schon einer von euch versucht/Erfahrungen damit? Ich würde mich jetzt ungern in ein Design verrennen von dem mir jemand schon vorher einfach abraten kann.
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.005 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Android App REST hook Implementierung

  Alt 28. Jul 2020, 20:07
Neben anderen Gründen warum ein HTTP Server auf einem Smartphone "schwierig" ist - das Problem besteht ja weiterhin, nur muss jetzt der "REST"-Server nicht nur die POSTs schicken um Nachrichten zuzustellen sondern auch ständig die Geräte pollen um Nachrichten abzuholen.

HTTP Long Polling (vom Gerät auf einen Server) ist nicht die schlechteste Wahl: solange der Server keine neuen Nachrichten für das Gerät hat, blockiert der Request bis zu einem Timeout (z.B. 30 Sekunden) und startet dann wieder neu. Das belastet das Netzwerk kaum.

Andere Protokolle wären eleganter - eine einzige TCP Verbindung hat ja zwei Kanäle, man kann auf dem einen senden und auf dem anderen empfangen, und das gleichzeitig. Netzwerktechnisch ist aber andererseits dann ein Öffnen der Firewall für den verwendeten Port notwendig. Unterm Strich ist HTTP unkomplizierter und in der Praxis bewährt.
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Necrotarch

Registriert seit: 31. Jan 2017
3 Beiträge
 
#3

AW: Android App REST hook Implementierung

  Alt 28. Jul 2020, 21:46
Ich glaube ich sollte das einmal etwas präzisieren:

Es soll einen REST-Server auf einem RaspberryPi geben, der in seiner API auch dieses .../API/V<Nummer>/subscribe hat. An die Adresse können die Clients ihre IP&Port posten.

Die Android App soll ebenfalls einen http Server laufen lassen. Damit könnte der Pi an http://<IP>:<Port>/Message z.B. POSTs schicken.

Den Server auf dem Pi kann ich ja sicher problemlos auf der 80 laufen lassen. Bedenken habe ich eher bei dem Android-Gerät. Ich weiß nicht ob das Betriebssystem da eventuell zickt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Android App REST hook Implementierung

  Alt 28. Jul 2020, 23:35
Klar, ginge vermutlich, aber warum nicht den normalen Weg?

Auf dem PI ein richtiger/normaler Server und die Clients bauen eine dauerhafte Verbindung zu diesem auf.
Effektiv kommt es auf's Gleiche drauf hinaus, als wenn der Server rückwärtig die Client-Servers anspricht, falls Android nicht mal was gegen eingehende Verbindung haben könnte. (quasi wie eine Firewall auf PCs)

Eine Verbindung macht der Client ja so oder so auf ... da kann man die auch gleich offen lassen.
Außer du fängst auch noch mit Broadcasts an, wo der Server die Clients sucht und von sich aus die Verbindung aufbaut.


Alternativ eben mal schauen ob man lokal eine Notification ans Android senden kann, ohne über die Google-Server gehen zu müssen.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Jul 2020 um 23:38 Uhr)
  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 00:12 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