Android /套接字 - 如何将信息从主UI线程发送到套接字线程?

时间:2014-06-15 23:17:27

标签: java android multithreading node.js sockets

过去一天我一直在通过论坛阅读,我似乎无法找到有助于解决问题的答案。

我正在尝试创建一个Android套接字/游戏客户端:

  1. 连接到UI上单独线程上的新套接字上的服务器(我想保持打开状态)
  2. 在套接字上侦听来自服务器的消息,并使用处理程序将其发送到UI线程。
  3. 从主UI线程获取信息(即用户输入,获取textview,buttonclicks),然后将信息发送到服务器。
  4. 继续收听/发送剩余的活动。
  5. 我在实施#3时遇到了很多困难。最初连接到服务器的套接字是在自己的线程中,我想无限期地保持打开状态。从主UI线程获取信息的最佳方法是什么,以便我可以使用该线程和套接字将信息发送到服务器?

    我看到很多关于将信息从后台线程返回到UI线程但不是相反的帖子。有没有一种标准的方法呢?

    谢谢!

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,我使用了在UI线程和套接字线程之间共享的BlockingQueue。 UI线程在想要发送要发送到服务器的信息时使用queue.put(),并且套接字线程在queue.take()上等待获取信息并将其发送到服务器。