Android中的线程异步套接字通信

时间:2010-11-03 21:49:45

标签: java android sockets nio

我设法编写了一个与服务器通信的应用程序。我可以写,我可以读。我甚至设法用Java NIO做到了。

我的问题是我有一个无休止的while循环正在侦听要读取的新数据。它阻止整个程序,我不能再写数据了。

我需要一个解决方案,以便循环在后台运行时监听我发送数据时要读取的新数据。

有什么建议吗?

3 个答案:

答案 0 :(得分:3)

使用AsyncTask。它是为这种工作创建的(执行长时间运行的后台任务,同时仍然可以更新UI)。

答案 1 :(得分:0)

您可以创建一个单独的线程来异步处理套接字并通过处理程序传递消息,或者创建一个本地服务来处理通信。

你永远不应该在主(UI)线程上等待很长时间。

答案 2 :(得分:0)

如果你的循环阻塞了整个程序,那么它就有问题了。在你发布一些代码之前,我没有看到你能够实际期望的其他答案。