我正在向(a)Smack和Openfire服务器发送消息。我成功地能够使用邮件正文发送消息。现在我需要通过消息发送一些额外的数据。我不想将字符串附加到数据,然后在接收后处理它。还有其他方法吗?还是有扩展?
答案 0 :(得分:1)
使用自定义PacketExtension。
答案 1 :(得分:1)
您可以使用setProperty和getProperty方法。
发送结束时:
Message msg=new Message("jid", Message.Type.chat);
msg.setProperty("key", "value");
connection.sendMessage(msg);
收到结束时:
PacketFilter filter = new MessageTypeFilter(Message.Type.chat);
packetListner=new PacketListener() {
public void processPacket(Packet packet) {
Message message = (Message) packet;
String myData=message.getProperty("key").toString();
}
};
connection.addPacketListener(packetListner, filter);