我正在使用servlet发送&使用smack接收聊天消息到Facebook。 在那个用户的“A”& “B”与用户“C”聊天。 如果用户“C”仅将消息发送到“A”,则该消息也由“B”接收。 如何区分用户之间的消息?
最后我的问题是,消息是来自facebook的cmg。
使用以下代码获取消息:
public void processMessage(Chat chat, Message message) {
if ((message != null) && (message.getBody() != null)) {
System.out.println(chat.getParticipant() +"--"+ message.getBody());
}
}
答案 0 :(得分:2)
每个Message
对象都包含一个标题和正文。
标头基本上是名称值对的映射。我建议将userid放在消息的标题中。
现在在聊天客户端中,您可以在标头中实现基于消息过滤的用户ID。
这应该可以解决您的问题。
编辑:
此链接:http://www.quepublishing.com/articles/article.aspx?p=26270&seqNum=6包含有关标头使用情况的详细信息。