2010-05-13 13 views

Respuesta

1

El problema era el puerto que estaba usando. Estaba usando 4444, pero resulta que muchas redes bloquean ese puerto. El puerto 1024 parece funcionar para la mayoría.

+0

¿Dónde encontrar ese puerto o cómo cambiar su valor? –

1

A nivel de aplicación que (normalmente) no tienen que preocuparse por lo que la conexión de datos está disponible para el teléfono.

¿Has mirado en problemas tales como cuando se utiliza Wi-Fi que el servidor web es accesible ya que está golpeando desde dentro de la red. Mientras que, puede que no sea accesible en absoluto desde Internet pública, que es la forma en que la conexión 3G intentará conectarse al servidor.

¿Qué error/excepción se puede conseguir en 3G?

0

No debe haber nada adicional entre Wifi y 3G. Todo lo que he incluido en mis Permisos de manifiesto es android.permission.INTERNET, y eso funciona bien con Wifi o 3G, por lo que supongo que también se requiere INTERNET para Wifi (que no estoy del todo seguro, ya que no tengo intenté JUST Wifi) y ya lo incluiste, no sé nada más.

Si por alguna casualidad Wi-Fi no necesitan conexión a Internet, y pasa a trabajar sin él, el Manifiesto debe incluir una línea como:

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 

que debe conceder a Internet (y 3G) de acceso para su teléfono. Lo siento si eso no responde la pregunta, pero no puedo pensar en ninguna otra razón por la cual 3G sería un problema cuando Wifi funciona bien. Además, asegúrese de que puede acceder a la red desde otra ubicación externa, como dije antes, puede ser una cuestión de seguridad que impida el acceso externo de alguna manera. (No estoy seguro de lo que estás usando 3G para conectarse a)

0

La excepción que se produce cuando el conseguir la toma se hace es una IOException, y el tiempo de espera (4000) obtiene alcanzado. Cuando el teléfono está en Wi-Fi, funciona bien, pero cuando usa 3G, el socket no se puede conectar al host/puerto.

0

Tendrás que consultar con tu compañía telefónica (¡y buena suerte para encontrar a alguien que pueda responder!) Que la red 3G no bloquea los puertos que estás esperando abrir (y cuando estás en WiFi modo). Algunas empresas de telecomunicaciones bloquean casi todo lo que usted esperaría (y su pila de aplicaciones supone estar disponible) para ser estándar en redes 3G (ping, telnet, RDP, etc., etc.).

1

Por lo que vale la pena que estaba teniendo el mismo problema exacto. Mi aplicación funcionaría perfectamente con WiFi pero no con 3G. Estoy en Verizon. También estaba usando el puerto 4444 porque pensé que era un puerto "aleatorio" que había elegido. Gracias a que Verizon Wireless bloqueó este puerto, pasé más de una hora tratando de diagnosticar mi error. Cambié al puerto 444 y funciona bien ahora. Muy frustrante. Espero que esto ayude a alguien más.

Cuestiones relacionadas