Anfängerfrage: Daten über GSM/UMTS an PC senden

  • Antworten:6
Michael H.
  • Forum-Beiträge: 17

16.08.2012, 12:10:33 via Website

Hallo,

ich bin relativ neu in dem Gebiet Android App-Entwicklung und muss für meine Bachelorarbeit eine App entwickeln.

Diese soll über WLAN und GSM/UMTS Daten an/von einem PC senden/empfangen, dazwischen ist noch ein WLAN Router.

Ich weiß, dass man wenn man WLAN verwendet, die Verbindung und der Datenaustausch über Sockets, wie bei Java üblich, abläuft.

Ich verstehe nur noch nicht ganz, wie das ganze bei GSM oder UMTS abläuft?! Muss ich dazu extra Code programmieren oder funktioniert das dann automatisch wenn ich WLAN deaktiviere?

Ich hoffe Ihr könnt mir helfen und entschuldigt meine Unwissenheit ;-)

Danke,

Mike

Antworten
Florian B.
  • Forum-Beiträge: 284

16.08.2012, 14:53:12 via Website

Wenn die App die Verbindung zum PC aufbaut, und der PC mit einer öffentlichen IP Adresse zu erreichen ist, dann sollte es für dich egal sein, ob die Verbindung aktuell über WLAN oder GSM/UMTS läuft.

Michael H.

Antworten
Michael H.
  • Forum-Beiträge: 17

16.08.2012, 14:59:02 via Website

Ich habe auch ein bisschen recherchiert und bin immer wieder auf den Begriff NAT gestoßen. Mein Smartphone hat ja im Internet keine feste IP-Adresse.

Es scheint als muss ich das ganze über einen externen Web-Server laufen lassen, welcher die IP-Adresse entsprechend handhabt.

Hat da einer mehr Informationen bzw. Erfahrungen zu dem Thema? Finde das doch ziemlich aufwendig und ich möchte es gerne so einfach wie möglich halten und auf einen externen Server verzichten. Der Datentransfer sollte bidirektional möglich sein.

Antworten
Florian B.
  • Forum-Beiträge: 284

16.08.2012, 15:23:16 via Website

Wie gesagt, es kommt darauf an wer die Verbindung aufbauen soll, das Handy oder der PC. Wenn die Verbindung erst mal steht, dann kannst du auch in beide Richtungen Daten versenden.

Der einfachere Weg ist der Verbindungsaufbau vom Handy zum PC. Dann hast du zwar zunächst immer noch das Problem, dass dein PC hinter einem Router steht, und daher auch nicht von außen erreichbar ist, aber das lässt sich in der Regel lösen, wenn der Router entsprechend konfigurierbar ist.

Eine Möglichkeit wäre beispielsweise Port forwarding, dabei wird dem Router "gesagt", dass ankommende Verbindungen auf einem bestimmten Port, direkt an den PC im internen Netz weitergegeben werden sollen. Der PC ist dann auf diese Weise von außen erreichbar.

— geändert am 16.08.2012, 15:24:00

Michael H.

Antworten
Michael H.
  • Forum-Beiträge: 17

16.08.2012, 15:29:33 via Website

Florian B.
Wie gesagt, es kommt darauf an wer die Verbindung aufbauen soll, das Handy oder der PC. Wenn die Verbindung erst mal steht, dann kannst du auch in beide Richtungen Daten versenden.

Ja die Verbindung soll das Handy aufbauen.

Florian B.
Eine Möglichkeit wäre beispielsweise Port forwarding, dabei wird dem Router "gesagt", dass ankommende Verbindungen auf einem bestimmten Port, direkt an den PC im internen Netz weitergegeben werden sollen. Der PC ist dann auf diese Weise von außen erreichbar.

Funktioniert dann die Verbindung wie bei WLAN über Sockets? Dann muss ich aber wahrscheinlich für 3G einen anderen Port, also auch andere Sockets programmieren?

Antworten
Florian B.
  • Forum-Beiträge: 284

16.08.2012, 17:12:31 via Website

Michael H.

Florian B.
Eine Möglichkeit wäre beispielsweise Port forwarding, dabei wird dem Router "gesagt", dass ankommende Verbindungen auf einem bestimmten Port, direkt an den PC im internen Netz weitergegeben werden sollen. Der PC ist dann auf diese Weise von außen erreichbar.

Funktioniert dann die Verbindung wie bei WLAN über Sockets? Dann muss ich aber wahrscheinlich für 3G einen anderen Port, also auch andere Sockets programmieren?

Nein es macht keinen Unterschied. Sockets setzen auf einer höheren Schicht des ISO/OSI Modells auf als WLAN und 3G. Daher kann es dir eben egal sein, ob das Handy gerade WLAN oder 3G nutzt. Du machst einfach auf dem Handy einen Socket auf und gibst ihm als Parameter IP-Adresse und Port des Server-Programms auf dem PC.

Michael H.

Antworten
Michael H.
  • Forum-Beiträge: 17

17.08.2012, 09:57:19 via Website

Florian B.
Michael H.

Florian B.
Eine Möglichkeit wäre beispielsweise Port forwarding, dabei wird dem Router "gesagt", dass ankommende Verbindungen auf einem bestimmten Port, direkt an den PC im internen Netz weitergegeben werden sollen. Der PC ist dann auf diese Weise von außen erreichbar.

Funktioniert dann die Verbindung wie bei WLAN über Sockets? Dann muss ich aber wahrscheinlich für 3G einen anderen Port, also auch andere Sockets programmieren?

Nein es macht keinen Unterschied. Sockets setzen auf einer höheren Schicht des ISO/OSI Modells auf als WLAN und 3G. Daher kann es dir eben egal sein, ob das Handy gerade WLAN oder 3G nutzt. Du machst einfach auf dem Handy einen Socket auf und gibst ihm als Parameter IP-Adresse und Port des Server-Programms auf dem PC.

Super danke, das sollte meine Frage beantwortet haben! Vielen Dank für deine Hilfe!

Antworten