2010-05-13 11 views

risposta

1

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.

+0

Dove trovare quella porta o come modificarne il valore? –

1

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?

0

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)

0

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.

0

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.).

1

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.

Problemi correlati