My Netty通信类在标准Java应用程序中运行良好,但是当我在Android应用程序中运行它时,我得到一个NullPointerException。
我的问题是,如果任何Netty专家能指出正确的方向来解决这个问题。这是Android的不兼容问题吗?或者您是否可以在堆栈跟踪中看到任何可能表明我可能做错的事情?
我正在使用netty-3.4.0.Final.jar
我已将互联网权限添加到AndroidManifest.xml
我已经验证我可以在Android应用程序中使用原始套接字(没有Netty)成功连接到服务器。
在我调用bootstrap.connect()
之后,我可以在两个线程中的断点处暂停执行。一个位于exceptionCaught()
,一个位于channelClosed()
。
下面的堆栈跟踪来自异常exceptionCaught()
。
此项目的完整来源位于codeplex
的{{1}}。
我相信我实际看到Android项目工作一次,这可能表明并不总是抛出异常。不幸的是,我无法再次使用它(即使我没有对项目进行任何更改)。
elvemobileandroid project
这是我关于stackoverflow的第一篇文章,如果我能提供更多信息,请告诉我。
由于
答案 0 :(得分:1)
感谢你指出了logcat窗口(我是Eclipse新手)。 它显示了另一个错误: java.net.SocketException:错误的地址族
经过一些研究后我发现了这个: http://code.google.com/p/android/issues/detail?id=9431
修复是在使用模拟器时禁用IPv6:
java.lang.System.setProperty("java.net.preferIPv6Addresses", "false");