2015-09-29 186 views
1

我一直在阅读关于服务,执行程序,处理程序和我仍然困惑。 我想要一个线程来处理websocket协议。我希望任何Activity都能够使用它来发送“命令”并接收回复。每个命令都会为网络活动使用单独的线程,但在经理和初始回复处理中使用此websocket线程。服务,线程和网络

[发送Cmd的]:AnyActivity - > WebSocketThread - > NetThread - > SERVER [的Recv Rply]:SERVER - > NetThread - > WebSocketThread - > AnyActivity.Callback

可以存在在任何数目的NetThreads时间

我不需要代码,但关于什么类是高效和灵活的概念。什么是最有效的方式来传递数据:Intents;消息; ....?

**我使用术语“线程”来表示单独的线程,可以同时运行而不是基类。

回答

0

执行ServiceService将拥有websocket Thread并将启动其他Thread以处理个别请求。

活动致电startService()请求Service做些事情。呼叫Activity可以将数据传递给Service作为startService()中使用的Intent中的附加内容。此Intent将传递给方法Service.onStartCommand()

要将Service中的数据传递给Activity,有几种可能性(取决于需要返回的数据类型和数量)。一种选择是Service可以在广播Intent中使用sendBroadcast()作为“额外”广播数据,而Activity可以设置BroadcastReceiver来侦听响应。

+0

谢谢,我将使用一个广播和每个请求发送回调。 – SavageS