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
Seite 1 von 2  1 2      
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

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

Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:42
Hi,

Ich bin nicht zu 100% sicher, ob hier jemand meine Frage beantworten kann, aber ich bin guter Hoffnung. Ich habe die Frage auch schon in einem entsprechenden Android-Forum gestellt - leider ohne Antwort bisher: http://www.androidpit.de/de/android/...-Kommunikation

Sollte jemand also zufällig noch ein gutes Android-Forum kennen, nur her damit

Zur eigentlichen Frage, die wohl nicht nur auf Android bezogen ist, sondern wohl generell für alle Mobil-Telefon <-> Server-Kommunikationen gilt:

Es soll einen Server geben, der über Internet erreichbar ist (vermutlich in Java programmiert, aber ich denke, das ist sekundär) und eine Reihe von Android Handys in "freier Wildbahn". Nun sollen die Handys sich am Server anmelden können und von ihm Informationen bekommen können. Darin sehe ich an sich kein Problem, da las ich die typischen Schlagwörter wie GET und POST etc.
Die Frage, die sich mir nun stellt, ist, wie kann ich vom Server aus, quasi "ungefragt" Informationen an die Handys "pushen". Im "Nicht-Handy-Umfeld" habe ich solche Sachen durch eine Socket-Connection (TCP/UDP) realisiert. Ist das auch der Weg, den ich mit Android gehen würde (also alles auf Socket-Connection aufbauen) oder gibt es da andere Möglichkeiten?


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:47
Sollte genauso gehen. Androidprogramme sind ja auch Java-Programme. Bei WebOS würde man einen PDK-Teil in C/C++, Pascal, ... schreiben., bei den anderem Mobil OSen sollte das ähnlich sein, oder man verwendet halt AJAX, was von den neuren Mobil-OSen ja unterstützt wird (dank WebKIT)
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

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

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19: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.861 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19: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
 
#5

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:54
Hi,

genauso? Wie was?
Meintest du Socket-Connections?

Meine Frage zielte darauf ab, ob es vllt. noch was anderes/besseres gibt.

Inwiefern kann mit AJAX helfen, wenn ich vom Server etwas auf den Client "pushen" will?


Es geht z.B. darum, dass das Handy die Verfügbarkeit von irgendwelchen Gegenständen anzeigt.
Ein anderer Nutzer entfernt jetzt einen solchen Gegenstand, das wird dem Server gemeldet und der muss es dann quasi allen anderen pushen.


Liebe Grüße,
Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 19:56
Der Client meldet sich beim Server für ein Update an, dieses wird dann asyncron vom Server gepusht.

http://www.phonegap.com/
http://jqtouch.com/
http://sourceforge.net/projects/quickconnect/
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
 
#7

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 20: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
 
#8

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 20: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
 
#9

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 20: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
 
#10

AW: Kommunikation mit Mobil-Telefon

  Alt 11. Nov 2010, 20: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
Antwort Antwort
Seite 1 von 2  1 2      


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 21:27 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