jabber - 创建房间

Posted

技术标签:

【中文标题】jabber - 创建房间【英文标题】:jabber - create room 【发布时间】:2012-11-14 01:58:06 【问题描述】:

我有以下设置:

CentOS 6 的服务器 XMPP 服务器(使用 ejabber) 浏览器客户端(使用 Candy-chat) 聊天正常,用户有权限等

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

问题是我该怎么做?

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

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

感谢您的宝贵时间。

【问题讨论】:

ok... 已添加... 虽然不完全是 php 问题,但它与 php 有一些远程连接。 【参考方案1】:

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

【讨论】:

以上是关于jabber - 创建房间的主要内容,如果未能解决你的问题,请参考以下文章

Slixmpp - 机器人无法连接到多用户房间

如何使用 jabber-bot 连接聊天服务器

如何使用 agsXMPP c# 创建 jabber 帐户?

如何通过 Jabber/xmpp 创建聊天 [关闭]

Jabber-net 注册新用户

创建多个 Jabber 客户端 Echo Bot