AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kommunikation mit Mobil-Telefon

Ein Thema von fkerber · begonnen am 11. Nov 2010 · letzter Beitrag vom 16. Nov 2010
Antwort Antwort
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#1

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 18:49
Moin.

Die Frage, die sich mir nun stellt, ist, wie kann ich vom Server aus, quasi "ungefragt" Informationen an die Handys "pushen".
Indem du eine einfache TCP-Verbindung von der Serverseite aus aufbaust. Allerdings wird das vermutlich relativ unpraktikabel sein, wg. allerlei Unwägbarkeiten (Proxies sind nur eine Variante).

Warum also nicht den anderen Weg gehen und das Handy einfach anweisen alle X sec beim Server nachzufragen ob was "neues" da ist was gezogen werden soll?

Wenn du es clever anstellst, könnte die Abfrage einer statischen Datei gelten die eine Seriennummer (ähnlich wie die bei DNS-Records) enthält. So kann der Client anhand der Seriennummer die er kennt einschätzen ob er sich an das aufwendigere CGI-Skript (oder was immer du benutzt) wenden soll. Damit sparst du eine Menge Rechenzeit und auch Bandbreite.

Nachtrag: die meisten Aktualisierungsdienste funktionieren so, daß der Client die Verbindung initiiert.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.875 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 18:53
Zitat:
Nachtrag: die meisten Aktualisierungsdienste funktionieren so, daß der Client die Verbindung initiiert.
Anders wird es auch nicht gehen. Wie gesagt würde ich eine Web-UI (HTML 5/CSS/JS/AJAX) basteln
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#3

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:10
Hi,

Indem du eine einfache TCP-Verbindung von der Serverseite aus aufbaust. Allerdings wird das vermutlich relativ unpraktikabel sein, wg. allerlei Unwägbarkeiten (Proxies sind nur eine Variante).
Von was für Unwägbarkeiten sprichst du denn da?
Wo spielen z.B. Proxies eine Rolle oder könnten ein Problem darstellen?


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#4

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:14
Von was für Unwägbarkeiten sprichst du denn da?
Wo spielen z.B. Proxies eine Rolle oder könnten ein Problem darstellen?
Wenn du von deinem Server aus eine Verbindung aufbauen willst und diese nicht vom Client käme, wie willst du bspw. hinter einen Zwangsproxy des Zugangsproviders oder in das NAT eines Routers dringen? Geht nicht - ergo: unpraktikabel.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#5

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:26
Hi,

ist das auch ein Problem, wenn der Client die Verbindung aufbaut?
Also der Plan an sich ist:

Die Handy-App kennt die Server-Daten und initiiert einen Login-Vorgang. Dazu wird eine Socket-Connection aufgebaut. Der Server weiß ja dann, von wo (IP) die Anfrage kommt und kann dann dahin was zurückschicken.

Das haben wir PC<->"Server" (allerdings alle im selben lokalen Netz) schon erfolgreich umgesetzt.

Wären die Umstände hier so anders?


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#6

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:44
ist das auch ein Problem, wenn der Client die Verbindung aufbaut?
Nein, dann wäre es kein Problem.

Die Handy-App kennt die Server-Daten und initiiert einen Login-Vorgang. Dazu wird eine Socket-Connection aufgebaut. Der Server weiß ja dann, von wo (IP) die Anfrage kommt und kann dann dahin was zurückschicken.

Das haben wir PC<->"Server" (allerdings alle im selben lokalen Netz) schon erfolgreich umgesetzt.

Wären die Umstände hier so anders?
Ich merke hier hapert es bei Begrifflichkeiten. Klar kann der Server was zurückschicken, wenn der Client es anfragt. Aber was der Server eben in vielen Fällen nicht wirklich kann (ansonsten reden wir quasi über einen zweispurigen Tunnel) ist selber eine Verbindung zum Client aufzubauen.

Und dann wäre hier ohnehin noch die Frage ob (und wenn ja warum) die Verbindung persistent sein soll.

Prinzipiell würde es wohl reichen wenn der Client sich in Intervallen an den Server wendet. Von dort bekommt er bspw. die Info (statisch): ja, es liegt eine Aktualisierung vor. Dann - unter der Annahme daß du beide Seiten entwickelst - kann der Client sich doch an eine andere URI auf dem gleichen Server wenden und bspw. authentifizieren und dann bei nachgewiesener Berechtigung die Aktualisierung runterladen. Aber in allen genannten Fällen würde die Initiierung der Verbindung immer durch den Server stattfinden.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#7

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 20:09
Hi,

ja, vllt. reden wir wirklich etwas aneinander vorbei.
Also ganz am Anfang wird der Client sich einmalig beim Server melden und sagen "hier bin ich".

Dann wäre die Idee, die Verbindung aufrecht zu halten und bei Bedarf (es gab eine Aktualisierung der Daten auf dem Server, z.B. durch anderes Handy) den offenen Kanal zu nutzen, um diese Info an das Handy zu übertragen.

So hatten wir es bei dem anderen Projekt gelöst (allerdings PCs statt Handys und alles nur lokales Netz).


Daher war die Frage:
Kann ich das quasi 1:1 umsetzen oder ist das vllt. nicht so klug?

Ein Problem sah ich schon bei evtl. Internet-Verbindungs-Abbrüchen auf Handy-Seite.


Wäre deiner/eurer Meinung nach die folgende Variante besser:
Handy fragt alle x (x = ~10s) den Server an und bekommt alle relevanten Infos zurück. D.h. der Server würde immer nur antworten und niemals selbst initiiert etwas senden (unabhängig davon, wer den Verbindungsweg geöffnet hat).


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#8

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 20:20
ja, vllt. reden wir wirklich etwas aneinander vorbei.
Denkbar.

Also ganz am Anfang wird der Client sich einmalig beim Server melden und sagen "hier bin ich".

Dann wäre die Idee, die Verbindung aufrecht zu halten [...]
Wieviele Clients erwartest du? IPv4 oder IPv6? Bei IPv4 wirst du schnell an Grenzen bzgl. Sockets/Ports stossen.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von FBrust
FBrust

Registriert seit: 4. Okt 2002
Ort: Saarbrücken
654 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Kommunikation mit Mobil-Telefon

  Alt 12. Nov 2010, 08:30
Hallo,

bei "ungefragt" fällt mir nur die Möglichkeit ein, den Handys eine SMS zu schicken, die wiederum die Android-Applikation veranlasst, eine Verbindung zum Server zu etablieren. Frag mich aber nicht, wie das geht, hab nur gelesen, dass sowas möglch ist (hab erst mit Android-Programmierung angefangen )


Grüße
Frank
"Ich habe Dinge gesehen, die ihr Menschen niemals glauben würdet. Gigantische Schiffe, die brannten, draußen vor der Schulter des Orion" - Roy Batty
  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 02:36 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