Ho creato un'app che può connettersi a un programma che sto utilizzando su un server, ma sembra funzionare solo con il WiFi. Quando provo a usare la rete 3G, non effettua la connessione. C'è qualcosa di speciale che devo accendere o impostare per usare il 3G?Come posso utilizzare una connessione Internet 3G nella mia app per Android?
risposta
Il problema era la porta che stavo usando. Stavo usando 4444, ma si scopre che molte reti bloccano quella porta. Port 1024 sembra funzionare per la maggior parte.
A livello di applicazione (normalmente) non devi preoccuparti di quale connessione dati è disponibile per il telefono.
Hai esaminato problemi come quando utilizzi il Wi-Fi, il tuo server web è accessibile da quando lo stai colpendo dalla tua rete. Considerando che, potrebbe non essere affatto accessibile da Internet pubblica, che è come la connessione 3G tenterà di connettersi al server.
Quale errore/eccezione ricevi su 3G?
Non ci dovrebbe essere nulla di ulteriore tra Wifi e 3G. Tutto ciò che ho incluso nelle mie Permessi Manifest è Android.permission.INTERNET, e funziona bene con Wifi o 3G, quindi suppongo che INTERNET sia richiesto anche per il Wifi (cosa di cui non sono completamente sicuro, dal momento che non ho provato JUST Wifi) e l'hai già incluso, non so nient'altro.
Se per caso Wifi NON richiede INTERNET, e succede a lavorare senza di essa, il Manifesto dovrebbe includere una linea come:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
che dovrebbe concedere internet (e 3G) l'accesso per il telefono. Scusa se questo non risponde alla domanda, ma non riesco a pensare ad alcun altro motivo per cui 3G sarebbe un problema quando il Wifi funziona correttamente. Inoltre, assicurati di poter accedere alla rete da un altro luogo esterno - come detto prima di me, potrebbe essere una questione di sicurezza che impedisce l'accesso dall'esterno in qualche modo. (Non sei sicuro di cosa stai collegando a 3G)
L'eccezione che viene generata quando viene eseguito il socket è una IOException e viene raggiunto il timeout (4000). Quando il telefono è in Wi-Fi funziona bene ma quando usa il 3G il socket non può connettersi all'host/porta.
Dovrai controllare con la tua compagnia telefonica (e buona fortuna nel trovare qualcuno in grado di rispondere !!) che la rete 3G non blocca le porte che ti aspetti di essere aperte (e che sono quando sei in WiFi modalità). Alcune compagnie telefoniche bloccano quasi tutto ciò che ti aspetti (e lo stack delle tue app assume che sia disponibile) come standard sulle reti 3G (ping, telnet, RDP ecc. Ecc.).
Per quello che vale ho avuto lo stesso esatto problema. La mia app funzionerebbe perfettamente su WiFi ma non su 3G. Sono su Verizon. Stavo anche usando la porta 4444 perché pensavo che fosse una porta "casuale" che avevo scelto. Grazie a Verizon Wireless che ha bloccato questa porta ho impiegato più di un'ora a cercare di diagnosticare il mio errore. Sono passato alla porta 444 e ora funziona bene. Molto frustrante. Speriamo che questo possa aiutare qualcun altro.
- 1. Come determinare la connessione Internet Android?
- 2. Come posso utilizzare OpenStreetMap nella mia app Compact Framework?
- 3. Come posso usare NSError nella mia app per iPhone?
- 4. Come aggiungere una notifica push nella mia app Android
- 5. Come simulare una connessione Internet lenta (Edge/3g) su un Mac. C'è un plugin per Firefox?
- 6. Come posso utilizzare le icone native di Android nella mia nuova app?
- 7. come forzare la mia app a NON utilizzare l'impostazione del proxy dei dati 3g
- 8. Come posso aggiungere una sottocartella alla cartella raw nella mia app per Android?
- 9. Come posso utilizzare le icone di sistema nella mia app Android?
- 10. Come forzare una connessione GPRS invece di 3G o Wifi?
- 11. Caratteri Roboto nella mia app Android
- 12. android: come posso aprire un'altra app dalla mia app?
- 13. Le app PhoneGap necessitano di una connessione Internet?
- 14. utilizzare 3g per Internet quando connesso ad ad hoc wifi (utilizzando API private)
- 15. Posso disabilitare systemui dalla mia app Android?
- 16. android: come posso implementare tutorial per la prima volta come Go Launcher nella mia app?
- 17. Perché gmail oauth non funziona nella mia app per Android?
- 18. Come posso gestire in modo sano i volumi audio nella mia app per Android?
- 19. Posso interrompere Android dall'uccidere la mia app?
- 20. Android - visualizzatore di Microsoft Office nella mia app
- 21. Come controllate la connessione internet in Android?
- 22. come implementare l'acquisto in-app nella mia applicazione Android?
- 23. Posso usare un pulsante di donazione PayPal nella mia app per Android in Google Play?
- 24. Usa blocco schermo nella mia app
- 25. Come visualizzare le formule matematiche nella mia app Android?
- 26. Come collego la mia estensione alla mia app per Android?
- 27. Come può la mia app Android rilevare una chiamata interrotta?
- 28. Come posso incorporare un sito Web nella mia app
- 29. Come posso integrare AirPush Ads nella mia applicazione Android?
- 30. Come visualizzare gli annunci VAST nella mia app Android?
Dove trovare quella porta o come modificarne il valore? –