Ich habe eine App gemacht, die sich mit einem Programm verbinden kann, das ich auf einem Server betreibe, aber es scheint nur mit WiFi zu funktionieren. Wenn ich versuche, 3G zu verwenden, wird die Verbindung nicht hergestellt. Gibt es etwas Besonderes, das ich aktivieren oder einstellen muss, um 3G zu verwenden?Wie kann ich eine 3G Internetverbindung in meiner Android App nutzen?
Antwort
Das Problem war der Port, den ich verwendete. Ich benutzte 4444, aber es stellt sich heraus, dass viele Netzwerke diesen Port blockieren. Port 1024 scheint für die meisten zu funktionieren.
Auf der Anwendungsebene müssen Sie sich (normalerweise) nicht darum kümmern, welche Datenverbindung für das Telefon verfügbar ist.
Haben Sie sich mit Problemen beschäftigt, wie zB wenn Sie WiFi benutzen, ist Ihr Webserver erreichbar, da Sie ihn von Ihrem Netzwerk aus erreichen. Es ist möglich, dass es vom öffentlichen Internet aus überhaupt nicht zugänglich ist, wie die 3G-Verbindung versuchen wird, eine Verbindung zum Server herzustellen.
Welchen Fehler/Ausnahme erhalten Sie auf 3G?
Es sollte nichts Zusätzliches zwischen Wifi und 3G geben. Alles, was ich in meinen Manifest Permissions eingeschlossen habe, ist android.permission.INTERNET, und das funktioniert gut mit entweder Wifi oder 3G, also angenommen, INTERNET ist auch für Wifi erforderlich (worüber ich mir nicht ganz sicher bin, da ich nicht habe versucht JUST Wifi) und Sie haben es bereits aufgenommen, ich weiß nichts anderes.
Wenn durch Zufall Wifi nicht über einen Internet erfordert, und es geschieht, ohne es zu arbeiten, soll das Manifest enthält eine Zeile wie:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
das Internet (und 3G) Zugang für Ihr Telefon gewähren soll. Entschuldigung, wenn das die Frage nicht beantwortet, aber ich kann an keinen anderen Grund denken, 3G wäre ein Problem, wenn Wifi gut funktioniert. Stellen Sie außerdem sicher, dass Sie von einem anderen externen Standort aus auf das Netzwerk zugreifen können. Wie bereits erwähnt, kann es eine Sicherheitsfrage sein, die den Zugriff von außen verhindert. (Nicht sicher, wofür Sie 3G verwenden)
Die Ausnahme, die beim Herstellen des Sockets ausgelöst wird, ist eine IOException, und das Timeout (4000) wird erreicht. Wenn das Telefon in Wi-Fi ist, funktioniert es gut, aber wenn es 3G verwendet, kann der Socket keine Verbindung zum Host/Port herstellen.
Sie müssen sich bei Ihrer Telefongesellschaft erkundigen (und viel Glück bei der Suche nach jemandem, der antworten kann !!), dass das 3G-Netzwerk nicht die Ports blockiert, die Sie erwarten (und im WLAN sind) Modus). Einige Telcos blockieren fast alles, was Sie erwarten würden (und Ihr App-Stack wird als verfügbar vorausgesetzt), um Standard bei 3G-Netzen zu sein (Ping, Telnet, RDP usw.).
Für was es wert ist, hatte ich das gleiche genaue Problem. Meine App würde perfekt über WLAN funktionieren, aber nicht über 3G. Ich bin auf Verizon. Ich benutzte auch Port 4444, weil ich dachte, dass es ein "zufälliger" Port war, den ich gewählt hatte. Dank Verizon Wireless, der diesen Port blockiert, habe ich über eine Stunde damit verbracht, meinen Fehler zu diagnostizieren. Ich wechselte zu Port 444 und es funktioniert jetzt gut. Sehr frustrierend. Hoffentlich hilft das jemand anderem.
- 1. Erkennen einer 3G-Internetverbindung in .NET
- 2. Wie Android-Internetverbindung zu bestimmen?
- 3. Ich kann die Internetverbindung auf Cordova App nicht überprüfen
- 4. Android: Wie öffne ich eine andere App von meiner App?
- 5. Wie kann ich System-Icons in meiner Android-App verwenden?
- 6. Welchen Nutzen kann Vaadin meiner GWT Appengine App bieten?
- 7. iPhone: Wie kann ich die Erreichbarkeit ohne Host nutzen?
- 8. iPhone 3G Verbindung aktivieren
- 9. Android: Wie kann ich kostenpflichtige Skins zu meiner App hinzufügen?
- 10. Wie kann ich den Status meiner Android-App speichern?
- 11. Wie kann ich SMS von meiner Android App senden?
- 12. Kann ich nicht Objekte in sqlite in meiner Android App
- 13. Wie simuliere ich eine langsame Internetverbindung (Edge/3g) auf einem Mac. Gibt es ein Firefox-Plugin?
- 14. Wie kann ich die Systemanforderungen meiner APP ermitteln?
- 15. Android-Statistik 3g Verkehr für jede APP, wie?
- 16. Laufzeitfehler in meiner android app
- 17. eine weitere App in meiner App hinzufügen?
- 18. Wie bekomme ich den genauen Standort in Android ohne Internetverbindung?
- 19. Wie teile ich Daten von meiner App A zu meiner App B in Android?
- 20. Kann ich Systemui von meiner Android App aus deaktivieren?
- 21. Wie mache ich Ordner in meiner Android-App
- 22. Android: Wie bekomme ich 3G/UMTS Signal Stärke Werte
- 23. Wie kann ich prüfen, ob eine App auf Android läuft?
- 24. Wie würde ich Push-Nachrichten an android von meiner Hardware senden, die esp8266-Modul ist? Kann ich interne Dienste nutzen, ohne eine App auf dem Handy zu installieren?
- 25. Wie kann ich eine E-Mail in Android App senden?
- 26. Wie kann ich AVAudioplayer in allen Ansichten meiner App verwalten?
- 27. Wie kann ich auf Pässe in meiner App zugreifen?
- 28. Wie kann ich Batterieinformationen in meiner App abrufen?
- 29. Wie kann ich alle Modelle in meiner Rails-App durchlaufen?
- 30. Wie kann ich SWF-Dateien in meiner Flex-App
Wo finde ich diesen Port oder wie ändere ich seinen Wert? –