J'ai un jeu assez simple qui fonctionne parfaitement sur toutes les versions jusqu'à maintenant 2.1, mais avec la nouvelle version 2.2 (Froyo), je suis incapable de créer un socket. J'utilise le paquet mina pour nio, et obtenir cette exception:Android 2.2 et «Bad adresse famille» sur Socket Connect
W/System.err (263): java.net.SocketException: Adresse Bad famille W/System.err (263): à org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl (méthode native) W/System.err (263): à org.apache.harmony.luni.platform.OSNetworkSystem.connect (OSNetworkSystem.java:115) W/System.err (263): à org.apache.harmony.nio.internal.SocketChannelImpl.connect (SocketChannelImpl.java:272) W/System.err (263): à org.apache.harmony.nio.internal .PipeImpl $ SinkChannelImpl.finishConnect (PipeImpl.java:164) W/System.err (263): at ou g.apache.harmony.nio.internal.PipeImpl. (PipeImpl.java:48) W/System.err (263): à org.apache.harmony.nio.internal.SelectorProviderImpl.openPipe (SelectorProviderImpl.java:51) W/System.err (263): à org.apache.harmony.nio.internal.SelectorImpl. (SelectorImpl.java:141) W/System.err (263): à org.apache.harmony.nio.internal .SelectorProviderImpl.openSelector (SelectorProviderImpl.java:58) W/System.err (263): à l'adresse 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): à org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector. Java: 210) W/System.err (263): à org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketCon nector.java:137) W/System.err (263): à org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
plus tard dans le journal, généralement immédiatement Je reçois ce qui suit:
W/System.err (263): java.lang.NullPointerException W/System.err (263): à org.apache.harmony.nio.internal.SelectorImpl.wakeup (SelectorImpl.java:418) W/System.err (263): à org.apache.mina.transport.socket.nio.SocketConnector.connect (SocketConnector.java:222) W/System.err (263): à org.apache.mina.transport.socket.nio.SocketConnec tor.connect (SocketConnector.java:137) W/System.err (263): à org.apache.mina.common.support.BaseIoConnector.connect (BaseIoConnector.java:40)
je l'ai fait tout le googling et en regardant autour je peux penser et n'ai rien trouvé. Le plus proche que je suis venu semble être un vieux bug JDK avec le support ipv6 sur les machines XP et Vista (je cours Vista). Les recommandations incluaient la désactivation d'ipv6 (qui ne fonctionnait pas) et la désactivation d'ipv4 et la sortie d'ipv6 (cela ne fonctionnera pas pour moi car mon routeur et mon FAI ne le supportent pas et ne peuvent donc pas tester).
Des pensées, des suggestions, des choses que je n'ai pas essayées?
Merci, Josh
peut vous envoyer votre code de configuration Socket? –
Salut Roman, j'utilise une API de jeu, mais je devrais pouvoir obtenir le code. Fait intéressant, pas ce que je suis en utilisant, mais d'autres semblent avoir le même problème: http://www.smartfoxserver.com/forums/viewtopic.php?p=30837&sid=74947ea6a890930771eab7fc36ab41ec Je vais voir si je peux trouvez le code qui définit les choses et affichez-le ici. - Josh – Josh
Une mise à jour rapide. Dans le processus d'essayer de trouver le code causant le problème dans le paquet mina, j'ai juste décidé qu'il serait plus facile d'utiliser une pile différente tout à fait. En le changeant en une solution semi-personnalisée en utilisant des trucs java.net.Socket standard - tout fonctionne bien maintenant. Supposons que cela n'aide pas quelqu'un à rester bloqué sans cette option, mais cela a fonctionné pour moi - donc je continue. - Josh – Josh