多客户端一个服务器架构与android中的处理程序

时间:2012-09-07 08:32:32

标签: android multithreading

你好,我有一个线程S和n线程C。 C使用S的Handler上的sendMessage(msg)向S发送请求。 每个客户端C1 ... CN都有一个私有处理程序。 S在其处理程序上接收消息,详细说明请求并希望在指定客户机的私有处理程序上使用sendMessage(risp)发送响应。但他怎么知道C将等待响应的处理程序是什么?客户端C可以在请求消息中插入一个引用其处理程序的接收响应吗?

2 个答案:

答案 0 :(得分:1)

发送邮件时设置其replyTo字段:

msgYouSend.replyTo = new Messenger(yourHandler);

然后你可以像这样回复:

msgYouReceived.replyTo.send(yourReplyMessage)

请参阅http://developer.android.com/reference/android/os/Message.html

上的replyTo doc

答案 1 :(得分:0)

Message yourReplyMessage=new Message(); 
Bundle b=new Bundle();
 b.putParcelable(keyStringResponse, risp); 
yourReplyMessage.setData(b);
 try { msgYouReceived.replyTo.send(yourReplyMessage);
 } catch (RemoteException e) { }  

我的解决方案......你觉得这样可以吗?