Tengo un juego bastante simple que funciona perfectamente en todas las versiones ahora hasta 2.1, pero con la nueva versión 2.2 (Froyo) no puedo crear un socket. Estoy utilizando el paquete de mina de nio, y conseguir esta excepción:Android 2.2 y "familia de direcciones incorrectas" en Socket Connect
W/System.err (263): java.net.SocketException: Dirección de la familia Malo W/System.err (263): en org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl (Método nativo) W/System.err (263): en org.apache.harmony.luni.platform.OSNetworkSystem.connect (OSNetworkSystem.java:115) W/System.err (263): en org.apache.harmony.nio.internal.SocketChannelImpl.connect (SocketChannelImpl.java:272) W/System.err (263): en org.apache.harmony.nio.internal .PipeImpl $ SinkChannelImpl.finishConnect (PipeImpl.java:164) W/System.err (263): at o g.apache.harmony.nio.internal.PipeImpl. (PipeImpl.java:48) W/System.err (263): en org.apache.harmony.nio.internal.SelectorProviderImpl.openPipe (SelectorProviderImpl.java:51) W/System.err (263): en org.apache.harmony.nio.internal.SelectorImpl. (SelectorImpl.java:141) W/System.err (263): en org.apache.harmony.nio.internal .SelectorProviderImpl.openSelector (SelectorProviderImpl.java:58) W/System.err (263): en java.nio.channels.Selector.open (Selector.java:48) W/System.err (263): en org .apache.mina.transport.socket.nio.SocketConnector.startupWorker (SocketConnector.java:248) W/System.err (263): en org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector. java: 210) W/System.err (263): en org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketCon nector.java:137) W/System.err (263): a org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
Más tarde en el registro, por lo general inmediatamente después me sale esto:
W/System.err (263): java.lang.NullPointerException W/System.err (263): a org.apache.harmony.nio.internal.SelectorImpl.wakeup (SelectorImpl.java:418) W/System.err (263): en org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector.java:222) W/System.err (263): en org.apache.mina.transport.socket.nio.SocketConnec tor.connect (SocketConnector.java:137) W/System.err (263): a org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
que he hecho todos buscando en Google y mirando alrededor puedo pensar y no encontré nada. Lo más cerca que he llegado parece ser un viejo error JDK con soporte para ipv6 en máquinas XP y Vista (estoy ejecutando Vista). Las recomendaciones incluyeron inhabilitar ipv6 (que no funcionó) y deshabilitar ipv4 y dejar ipv6 (no funcionará para mí, ya que mi enrutador y el ISP no lo admiten y, por lo tanto, no pude probarlo de todos modos).
¿Alguna idea, sugerencia, cosas que no haya intentado?
Gracias, Josh
puede publicar su código de configuración del zócalo? –
Hola, Rom, estoy usando una API de juegos, pero debería poder obtener el código. Curiosamente, no lo estoy usando, pero otros parecen estar teniendo el mismo problema: http://www.smartfoxserver.com/forums/viewtopic.php?p=30837&sid=74947ea6a890930771eab7fc36ab41ec Voy a ver si puedo encuentre el código que configura las cosas y publíquelo aquí. - Josh – Josh
Una actualización rápida. En el proceso de tratar de encontrar el código que causa el problema en el paquete de mina, simplemente decidí que sería más fácil usar una pila diferente por completo. Al cambiarlo a una solución semi personalizada usando java.net.Socket estándar, todo funciona bien ahora. Supongamos que esto no ayudará a alguien a quedarse estancado sin esta opción, pero funcionó para mí, así que sigue adelante. - Josh – Josh