0

我有以下设置:

  • 一台装有 CentOS 6 的服务器
  • XMPP 服务器(使用 ejabber)
  • 浏览器客户端(使用 Candy-chat)
  • 聊天正在工作,用户有权限等。

我需要做的是在用户 X 想要的时候创建一个房间。如果用户使用独立客户端(如 Pidgin),一切正常,但我需要使用基于浏览器的客户端创建房间。

问题是我该怎么做?

注意:试图找到支持该功能的客户端 - 失败。

注意 2:如果我可以从服务器命令行(shell 脚本)执行它是可以的,因为我可以将 ajax 请求发送到运行该行的 php 脚本。- 我尝试为此使用 ejabberdctl,但我找不到任何功能(找到关于用户、服务器等的 9999 个功能,但没有关于房间的功能。我想我必须编辑 mod_muc 选项然后重新启动服务器但我m 不确定并且不适合所有用户重新启动服务器)。

感谢您的时间。

4

1 回答 1

3

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”登录该房间。

于 2012-11-27T04:41:30.050 回答