如何使用smack和java区分用户之间收到的消息?

时间:2014-05-03 05:56:32

标签: java facebook chat smack

我正在使用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());

                  }
            }

1 个答案:

答案 0 :(得分:2)

每个Message对象都包含一个标题和正文。 标头基本上是名称值对的映射。我建议将userid放在消息的标题中。 现在在聊天客户端中,您可以在标头中实现基于消息过滤的用户ID。 这应该可以解决您的问题。

编辑:

此链接:http://www.quepublishing.com/articles/article.aspx?p=26270&seqNum=6包含有关标头使用情况的详细信息。