我有以下设置:
我需要做的是在用户X想要的时候创建一个房间。如果用户使用独立客户端(如Pidgin),一切正常,但我需要使用基于浏览器的客户端创建一个房间。
问题是我该怎么做?
注意:试图找到支持该功能的客户端 - 失败。
注意2:如果我可以从服务器命令行(shell脚本)执行此操作,这是可以的,因为我可以将ajax请求发送到运行该行的php脚本。 - 我尝试使用ejabberdctl,但我找不到任何功能(找到9999关于用户,服务器等功能,但没有任何关于房间。我想我必须编辑mod_muc选项然后重启服务器,但我'我不确定并且不适合所有用户重启服务器。)
感谢您的时间。
答案 0 :(得分:2)
请参阅http://xmpp.org/extensions/xep-0045.html#createroom
XEP-0045在XMPP中定义多用户聊天协议。您不需要使用命令行或任何其他带外通信,该协议已经定义并在用户XMPP会话中进行带内工作。这是支持聊天室的任何Jabber客户端实现的。
请注意,协议本身很长,很复杂,并且有许多选项和备选方案(用于配置房间参数,从属关系,管理工作等),但您不必全部使用它们,请参见示例153,刚
<presence from='crone1@shakespeare.lit/desktop'to='coven@chat.shakespeare.lit/firstwitch'>
<x xmlns='http://jabber.org/protocol/muc'/>
</presence>
足以创造房间“coven”。之后,用户“crone1”将成为该房间的所有者,并将使用缺口“firstwitch”登录房间。