我正在阅读http://xmpp.org/extensions/xep-0313.html以查询Ejabberd以查找使用特定用户存档的邮件.
这是我发送的xml:
<iq type='get' id='get_archive_user1'>
<query xmlns='urn:xmpp:mam:tmp'>
<with>user1@localhost</with>
<set xmlns='http://jabber.org/protocol/rsm'>
<max>20</max>
</set>
</query>
</iq>
Run Code Online (Sandbox Code Playgroud)
我正确收到了前20封邮件.要再次请求我添加标签:
<after>(id in element "Last" from last request)</after>
Run Code Online (Sandbox Code Playgroud)
这也很好.我需要的是接收最后20条消息,而不是前20条消息.我怎样才能做到这一点?
我正在挖掘ejabberd,但我无法找到检查其Mnesia桌子的方法.
是否有类似MySQL shell来检查表?
当用户加入ejabberd MUC时,服务器将向用户发送完整的房间名单和聊天记录.
在我的基于Web的客户端中,我需要在页面重新加载时保留房间.我的问题是,当页面被卸载时,我会丢失初始信息.
ATM我正在通过将名册和房间历史序列化为json并将其存储在cookie中来解决这个问题.然而,这是一个非常糟糕的主意(tm),因为我可以很快超过4k一般cookie限制的房间有很多用户.
所以问题是:如何重新请求服务器在加入时发送用户的信息,而不实际重新加入MUC?
名单的一种方法是发送带有"http://jabber.org/protocol/disco#items"命名空间的查询iq,但这不完整,因为它不提供在线信息或任何扩展信息(如真实的非匿名房间的jids)
任何人都知道是否有办法在没有加入房间的情况下查询xmpp(特别是ejabberd)中的muc中的最后n条消息.
谢谢.
我在android中开发聊天应用程序.现在服务器已准备就绪.我想使用XMPP(Jabber)将android应用程序与服务器连接.我有以下信息 -
主持人:108.167.167.22用户:user1 @ skyc密码:111111端口:5222/5280
我怎样才能从android实现?
市场上是否有任何具有类似功能的应用程序(我的意思是我可以连接到服务器并与该应用程序聊天以进行测试)?
提前致谢
我想访问ejabberd服务器的Mnesia数据库,但我不知道如何读取、写入和更新数据,有没有办法可以做到这一点。我可以将数据库更改为 MySQL 而不是 Mnesia。我试过这个
{odbc_server, {mysql, "localhost", "xmpp_db", "root", "**********"}}.
Run Code Online (Sandbox Code Playgroud)
这里的“xmpp_db”是我为ejabberd创建的数据库的名称,但我没有看到xmpp_db有任何变化。我应该在“xmpp_db”中创建任何表吗?但问题是我的表和字段的名称是什么。我也用过
ejabberdctl dump /tmp/ejabberd.db.txt
Run Code Online (Sandbox Code Playgroud)
命令,但这只是为了读取数据(数据格式非常粗略,很难理解)。有什么方法可以对 Mnesia 数据库执行读取、写入和更新操作。
我们将不胜感激您的帮助。
我正在安装ejabberd但是当我通过终端使用./start命令运行它时.它给出了ejabberd节点ejabberd@localhost已经运行的错误.
我卸载了ejabberd并再次通过安装程序安装它,但
它给出了同样的错误.
我有一个应用程序需要在正常注册过程发生时注册ejabberd用户.我使用ejabberdctl register命令处理了这个.
同样,我需要将一些用户添加到MUC组,因此,我需要使用php /命令行创建一个组.
我发现ejabberdctl create_room做了我需要的东西,但我似乎无法使它工作.
我用过这个:
sudo ejabberdctl create_room testRoom conference.localhost conference.localhost
Run Code Online (Sandbox Code Playgroud)
但这打印出一个堆栈跟踪.我启用了mod_muc_admin
现在,create_room命令接受3个参数,即名称,服务和主机.
我似乎无法弄清楚这个服务参数.
任何帮助将不胜感激.花了一整天的时间!
PS我使用的是Ubuntu 14.04 x64和ejabberd 15.07
我已经安装ejabberd聚类,一个是主站和另一个是如所描述的从这里.
我已将.erlang.cookie和数据库文件从master复制到slave.一切都很好.
问题是当我停止主节点时:
我被困在这里,请帮帮我.谢谢
我有以下结构:
type CustomAttribute struct {
Id string `xml:"attribute-id,attr,omitempty"`
Values []string `xml:"value,omitempty"`
}
type Store struct {
XMLName xml.Name `xml:"store"`
Id string `xml:"store-id,attr,omitempty"`
Name string `xml:"name,omitempty"`
Address1 string `xml:"address1,omitempty"`
Address2 string `xml:"address2,omitempty"`
City string `xml:"city,omitempty"`
PostalCode string `xml:"postal-code,omitempty"`
StateCode string `xml:"state-code,omitempty"`
CountryCode string `xml:"country-code,omitempty"`
Phone string `xml:"phone,omitempty"`
Lat float64 `xml:"latitude,omitempty"`
Lng float64 `xml:"longitude,omitempty"`
CustomAttributes []CustomAttribute `xml:"custom-attributes>custom-attribute,omitempty"`
}
Run Code Online (Sandbox Code Playgroud)
然后我初始化结构如下:
store := &Store{
Id: storeId,
Name: row[4],
Address1: row[5],
Address2: row[6],
City: row[7],
PostalCode: row[9],
StateCode: row[8],
CountryCode: row[11],
Phone: row[10],
}
Run Code Online (Sandbox Code Playgroud)
所以 …