Apache Mina:调用connect时出现IllegalStateException

时间:2013-12-19 11:34:57

标签: android apache-mina

我正在尝试使用Apache Mina在Android上创建一个简单的消息应用程序。我在致电IllegalStateException时收到connect(new InetSocketAddress(HOSTNAME, PORT))

这是我的客户代码:
http://pastebin.com/NR2H6X0t

这是我的服务器代码:
http://pastebin.com/Q5fQnu2p

这是logcat输出:

http://pastebin.com/Egsh0Ce4

我正在使用平板电脑和手机在同一个wifi网络中测试我的应用程序。

1 个答案:

答案 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中运行与网络相关的代码。