Ich habe ein ziemlich einfaches Spiel, das perfekt auf jeder Version bis 2.1 funktioniert, aber mit der neuen Version 2.2 (Froyo) kann ich keinen Socket erstellen. Ich bin das mina-Paket für nio verwenden und bekommen diese Ausnahme:Android 2.2 und "Bad address family" auf Socket Connect
W/System.err (263): java.net.SocketException: Bad Adresse Familie W/System.err (263): at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl (systemeigene Methode) W/System.err (263): at org.apache.harmony.luni.platform.OSNetworkSystem.connect (OSNetworkSystem.java:115) W/System.err (263): at org.apache.harmony.nio.internal.SocketChannelImpl.connect (SocketChannelImpl.java:272) W/System.err (263): at org.apache.harmony.nio.internal .PipeImpl $ SinkChannelImpl.finishConnect (PipeImpl.java:164) W/System.err (263): at oder g.apache.harmony.nio.internal.PipeImpl. (PipeImpl.java:48) W/System.err (263): at org.apache.harmony.nio.internal.SelectorProviderImpl.openPipe (SelectorProviderImpl.java:51) W/System.err (263): at org.apache.harmony.nio.internal.SelectorImpl. (SelectorImpl.java:141) W/System.err (263): at org.apache.harmony.nio.internal .SelectorProviderImpl.openSelector (SelectorProviderImpl.java:58) W/System.err (263): bei java.nio.channels.Selector.open (Selector.java:48) W/System.err (263): at org .apache.mina.transport.socket.nio.SocketConnector.startupWorker (SocketConnector.java:248) W/System.err (263): at org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector. Java: 210) W/System.err (263): bei org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketCon nector.java:137) W/System.err (263): bei org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
später im Protokoll, in der Regel sofort folgende ich diese:
W/System.err (263): java.lang.NullPointerException W/System.err (263): bei org.apache.harmony.nio.internal.SelectorImpl.wakeup (SelectorImpl.java:418) W/System.err (263): bei org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector.java:222) W/System.err (263): um org.apache.mina.transport.socket.nio.SocketConnec tor.connect (SocketConnector.java:137) W/System.err (263): bei org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
ich getan habe all das Googeln und Umschauen kann ich mir denken und nichts finden. Der nächste, den ich je gesehen habe, scheint ein alter JDK-Bug mit ipv6-Unterstützung auf XP- und Vista-Rechnern zu sein (ich betreibe Vista). Die Empfehlungen beinhalteten das Deaktivieren von ipv6 (das nicht funktionierte) und das Deaktivieren von ipv4 und das Verlassen von ipv6 (funktioniert nicht für mich, da mein Router und ISP es nicht unterstützen und deshalb sowieso nicht testen konnten).
Irgendwelche Gedanken, Vorschläge, Dinge, die ich nicht versucht habe?
Danke, Josh
können Sie Ihre Socket-Setup-Code posten? –
Hallo Roman, Ich benutze eine Gaming-API, aber ich sollte in der Lage sein, den Code zu bekommen. Interessanterweise nicht, was ich bin mit, aber andere scheinen das gleiche Problem zu haben: http://www.smartfoxserver.com/forums/viewtopic.php?p=30837&sid=74947ea6a890930771eab7fc36ab41ec Ich sehe werde, wenn ich kann finde den Code, der die Dinge regelt und poste ihn hier. - Josh – Josh
Ein kurzes Update. Bei dem Versuch, den Code zu finden, der das Problem im mina-Paket verursacht, habe ich einfach entschieden, dass es einfacher ist, einen anderen Stack zu verwenden. Indem wir es auf eine semi-benutzerdefinierte Lösung umstellen, die standardmäßige java.net.Socket-Sachen verwendet - alles funktioniert jetzt gut. Angenommen, dies würde jemandem helfen, der ohne diese Option festsitzt, aber es hat für mich funktioniert - also weiter. - Josh – Josh