Ich habe ein ziemlich einfaches Spiel, das auf jeder Version bis Version 2.1 perfekt funktioniert, aber mit der neuen Version 2.2 (Froyo) kann ich keinen Socket erstellen. Ich verwende das Mina-Paket für Nio und bekomme diese Ausnahme:
W / System.err (263): java.net.SocketException: Schlechte Adressfamilie 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): unter org.apache.harmony.nio.internal.PipeImpl $ SinkChannelImpl.finishConnect (PipeImpl.java:164) W / System.err (263): at org.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): at java.nio.channels.Selector.open (Selector.java:48) W / System.err (263): bei 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): at org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector.java:137) W / System.err (263): at org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
Später in dem Protokoll, normalerweise unmittelbar folgend, bekomme ich folgendes:
W / System.err (263): java.lang.NullPointerException W / System.err (263): at org.apache.harmony.nio.internal.SelectorImpl.wakeup (SelectorImpl.java:418) W / System.err (263): at org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector.java:222) W / System.err (263): at org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector.java:137) W / System.err (263): at org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
Ich habe alles gegoogelt und mich umgesehen und kann 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 die Deaktivierung von ipv6 (das nicht funktionierte) und die Deaktivierung von ipv4 und das Verlassen von ipv6 (funktioniert nicht für mich, da mein Router und ISP es nicht unterstützen und daher sowieso nicht testen konnten).
Irgendwelche Gedanken, Vorschläge, Dinge, die ich nicht versucht habe?
Danke, Josh
Dies war ein Fehler und wurde behoben: Ссылка
Sie sollten sehr vorsichtig mit der Problemumgehung java.net.preferIPv6Addresses sein, da es Geräte und Netzwerke gibt, in denen Sie IPv6 haben möchten.
(und, wie das Original-Poster herausgefunden hat, wenn Sie können io anstelle von nio verwenden, sollten Sie im Allgemeinen .)
Ja, Sie haben Recht. Ich postete dieses Problem in Google Groups und der Kommentar lautete: "Der Emulator unterstützt IPv6 nicht". Hier ist der Link Ссылка
Weißt du, warum die Anwendung denkt, dass ihr Gerät iPv6 unterstützen kann oder nicht? Ich denke, dass Java-Anwendungsprogrammierer das nicht wissen müssen.
Tags und Links android android-2.2-froyo