我正在尝试使用Apache Mina在Android上创建一个简单的消息应用程序。我在致电IllegalStateException
时收到connect(new InetSocketAddress(HOSTNAME, PORT))
。
这是我的客户代码:
http://pastebin.com/NR2H6X0t
这是我的服务器代码:
http://pastebin.com/Q5fQnu2p
这是logcat输出:
我正在使用平板电脑和手机在同一个wifi网络中测试我的应用程序。
答案 0 :(得分:5)
即使我看不到您的代码有任何问题。但LogCat在{#1}}类{185}处说org.apache.mina.transport.socket.nio.NioSocketConnector.connect()
你的应用程序正在抛出NioSocketConnector.java
。首先解决的问题是检查是否收到同样的错误。
除此之外,我有一个建议(为了便于阅读):在ClientActivity的NetworkOnMainThreadException
中而不是使用
connectToServerButtonClicked()
更好地使用
for (; ; ) {
//rest of your code
}
编辑:根据@alkis的请求,通过以下评论回答我的回答以回答部分以获得更好的可修复性
while(true){
//rest of your code
}
:当应用程序尝试在其主线程上执行网络操作时,抛出此异常。在AsyncTask中运行与网络相关的代码。