openfire服务器端是不是保存聊天记录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openfire服务器端是不是保存聊天记录相关的知识,希望对你有一定的参考价值。
使用XMPP协议的openfire服务器端是否会保存用户的聊天记录?还是只保存在用户的本机?
参考技术A 不保存的,openfire只保存离线的消息,例如用户不线 你发送消息后会保存,如果正常发送的消息根本没有保存,可以自己修改源码或者写插件本回答被提问者采纳 参考技术Bopenfire是以log的形式存储的 如果需要数据库存储 可以安装Monitoring Service插件(登陆openfire的Console --->plugin中可以找到)之后会自动在数据库中的of默认表的目录下建立对应的表(如果没有建立 可以在Openfire\\plugins\\monitoring\\database目录下找到对应db的sql语句手动建表)。其中ofmessagearchive表里是聊天记录。里面的字段基本上跟stanza一致的
参考技术C 不小的追问不小的,你回个屁呀。
如何让 Openfire 用户出现在聊天室中
【中文标题】如何让 Openfire 用户出现在聊天室中【英文标题】:How to get Openfire user presence in the chat room 【发布时间】:2015-12-26 20:02:08 【问题描述】:我使用 Openfire 3.10.2 XMPP 服务器和 Strophe 库作为客户端。我想通过推送通知向聊天室中所有未加入聊天室的用户发送消息。
有插件吗?
聊天室中的用户是否保存在数据库中? 我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:你说过你会向IN聊天室中NOT JOIN聊天室的用户发送消息:这似乎是一个矛盾。如果用户没有加入房间,他就不在房间内,因此无法将房间内交换的消息也发送给该用户。
关于房间状态,您不需要插件,但您可以中继连接到 Strophe.connection 的状态处理程序。这是一个例子:
connection.addHandler(onPresence, null, "presence");
...
function onPresence(presence)
var msg = $(presence);
if (msg.children('x[xmlns^="' + Strophe.NS.MUC + '"]').length > 0)
// muc presence
onRoomPresence(presence);
else
// user presence
onUserPresence(presence);
return true;
不过,还有一个名为 MUC 的 Strophe 插件(请参阅strophe.muc.js)
【讨论】:
以上是关于openfire服务器端是不是保存聊天记录的主要内容,如果未能解决你的问题,请参考以下文章