Jos*_*osh 8 android android-2.2-froyo
我有一个相当简单的游戏,可以在每个版本上完美地运行到2.1,但是使用新的2.2(Froyo)版本我无法创建套接字.我正在使用mio包用于nio,并获得此异常:
W/System.err(263):java.net.SocketException:错误的地址族 W/System.err(263):at org.apache.harmony.luni.platform.OSNetworkSystem.connectStreamWithTimeoutSocketImpl(Native Method)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 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):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):在org.apache.mina.transport.socket.nio.SocketConnector.connect(SocketConnector.java:137)W/System.err的(263):在org.apache.mina.common. support.BaseIoConnector.connect(BaseIoConnector.java:40)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)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)
稍后在日志中,通常在我得到这个后立即:
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.连接(SocketConnector.java:137)W/System.err的(263):在org.apache.mina.common.support.BaseIoConnector.connect(BaseIoConnector.java:40)
我做了所有的谷歌搜索,环顾四周,我能想到,什么都没发现.我最接近的似乎是一个旧的JDK错误,在XP和Vista机器上支持ipv6(我正在运行Vista).建议包括禁用IPv6(没有工作)和禁用IPv4和IPv6的离开(不会为我的工作我的路由器和ISP不支持它,所以无论如何也测试).
有什么想法,建议,我没试过的事情?
谢谢,乔希
小智 15
感谢Josh ...我可以在上面的链接中找到问题的答案
在打开Selector之前使用此代码
==> System.setProperty("java.net.preferIPv6Addresses","false");
我可以通过这个问题......
这是一个错误,已修复:http://code.google.com/p/android/issues/detail?id = 9431
你应该非常小心java.net.preferIPv6Addresses的解决方法,因为有些设备和网络你需要IPv6.
(并且,正如原始海报所发现的,如果你可以使用io而不是nio,你通常应该.)
| 归档时间: |
|
| 查看次数: |
6698 次 |
| 最近记录: |