如何区分使用smack和java的用户之间收到的消息? [英] how to differentiate received messages between users using smack and java?

查看:148
本文介绍了如何区分使用smack和java的用户之间收到的消息?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用servlet发送&使用smack接收聊天消息到Facebook。
在该用户的A& B与用户C聊天。
如果用户C只将消息发送到A,该消息也由B接收。
如何区分用户之间的消息?



最后我的问题是,Facebook的消息是cmg。



通过使用以下代码获取消息:

  public void processMessage(聊天聊天,消息消息){

如果((message!= null)&&(message.getBody()!= null)){

System.out.println(chat.getParticipant + - + message.getBody());

}
}


解决方案

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



编辑:



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


I am using servlets to send & receive chat messages to facebook using smack . In that user's "A" & "B" are chating with user "C". If user "C" send's message only to "A" ,that message also received by "B". How to differenciate the messages between users?

finally my problem is ,to whom the message is cmg from facebook.

By using below code to get messages:

public void processMessage(Chat chat, Message message) {

                 if ((message != null) && (message.getBody() != null)) {

                    System.out.println(chat.getParticipant() +"--"+ message.getBody());

                  }
            }

解决方案

Each Message object will contain a header and body. Header is basically a mapping of name value pairs. I would suggest to put userid in header of message. Now in you chat client you can implement message filtering based user id in header. This should resolve your issue.

Edit:

This link : http://www.quepublishing.com/articles/article.aspx?p=26270&seqNum=6 has details on usage of header.

这篇关于如何区分使用smack和java的用户之间收到的消息?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆