服务器端转发消息功能上节已经实现,只需将消息转发给消息包中的接收人即可,
if(m.getType().equals(YQMessageType.COM_MES)){//如果是普通消息包
//取得接收人的通信线程
ServerConClientThread scc=ManageServerConClient.getClientThread(m.getReceiver());
ObjectOutputStream oos=new ObjectOutputStream(scc.s.getOutputStream());
//向接收人发送消息
oos.writeObject(m);
}
在客户端收到消息包后,通过广播发送到ChatActivity中:
//把从服务器获得的消息发送到ChatActivity
Intent intent = new Intent("org.yhn.yq.mes");
String[] message=new String[]{
m.getSender()+"",
m.getContent(),
m.getSendTime()};
intent.putExtra("message", message);
context.sendBroadcast(intent);
ChatActivity: