如何区分使用smack和java的用户收到的消息?
我正在使用servlets通过smack向facebook发送和接收聊天信息。 在这种情况下,用户的“A”和“B”正在与用户“C”聊天。 如果用户“C”只向“A”发送消息,“B”也会收到该消息。 如何区分用户之间的消息 最后,我的问题是,给谁的信息是来自facebook的cmg 通过使用以下代码获取消息:如何区分使用smack和java的用户收到的消息?,java,facebook,chat,smack,Java,Facebook,Chat,Smack,我正在使用servlets通过smack向facebook发送和接收聊天信息。 在这种情况下,用户的“A”和“B”正在与用户“C”聊天。 如果用户“C”只向“A”发送消息,“B”也会收到该消息。 如何区分用户之间的消息 最后,我的问题是,给谁的信息是来自facebook的cmg 通过使用以下代码获取消息: public void processMessage(Chat chat, Message message) { if ((message != null)
public void processMessage(Chat chat, Message message) {
if ((message != null) && (message.getBody() != null)) {
System.out.println(chat.getParticipant() +"--"+ message.getBody());
}
}
每个
消息
对象将包含标题和正文。
Header基本上是名称-值对的映射。我建议将userid放在消息的标题中。
现在,在您的聊天客户端中,您可以在标题中实现基于用户id的消息过滤。
这将解决您的问题
编辑:
此链接:包含标题用法的详细信息。@user2709752:请参阅我的编辑。我提供了一个链接,其中详细介绍了如何设置header.Message.getFrom()或Message.getTo()?