XMPP MUC 最大用户数

Posted

技术标签:

【中文标题】XMPP MUC 最大用户数【英文标题】:XMPP MUC Max Users 【发布时间】:2012-08-04 01:09:18 【问题描述】:

我有一个列出所有公共聊天室的页面,我想拥有: 总入住人数/最大用户数

IE。 (05/10 房间里的人)

Extended Disco Info Result (Querying For Room Information) 返回房间中的当前占用者,但不显示最大占用点数。

我将如何检索房间的最大用户数?

【问题讨论】:

【参考方案1】:

在XEP-0045 中,在example 10 正下方是指定扩展发现结果中允许的字段的文本,其中包括:

...为 muc#roomconfig FORM_TYPE 定义的任何字段都可以包含在扩展服务发现字段中(如上所示的“muc#roomconfig_changesubject”字段)。

因此,支持此功能的服务器将在发现结果中返回如下字段:

<field var='muc#roomconfig_maxusers' 
         label='Maximum Number of Occupants'>
    <value>10</value>
</field>

如果您的服务器没有返回此信息,请提交功能请求。

【讨论】:

【参考方案2】:
One can set the number of occupants in MUC's Configuration. Example 157 in XEP-0045 

使用节:

 <field var='muc#roomconfig_maxusers' 
         label='Maximum Number of Occupants'>
    <value>50</value>
</field>

Objective-C 代码:

NSArray *fields = [newConfig elementsForName:@"field"]; for (NSXMLElement *field in fields) NSString *var = [字段属性StringValueForName:@"var"];

if ([var isEqualToString:@"muc#roomconfig_maxusers"])

    [field removeChildAtIndex:0];
    [field addChild:[NSXMLElement elementWithName:@"value" stringValue:@"50"]];

[XMPPRoom configureRoomUsingOptions:newConfig];

【讨论】:

以上是关于XMPP MUC 最大用户数的主要内容,如果未能解决你的问题,请参考以下文章

无需登录 XMPP MUC

多用户聊天 XMPP

不允许任何所有者撤销创建房间/MUC 的用户的所有权 - Ejabberd XMPP

XMPP MUC 向房间发送消息时重复消息

XMPP 多 MUC Web 应用程序操作指南

XMPP:只读多用户聊天