XMPP MUC Max用户

时间:2012-08-04 01:09:19

标签: xmpp

我有一个页面列出了所有的公共聊天室,我想要: 总占用者/最大用户

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

扩展迪斯科信息结果(Querying For Room Information)返回房间中的当前居住者,但不显示最大占用者位置。

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

2 个答案:

答案 0 :(得分:1)

One can set the number of occupants in MUC's Configuration. Example 157 in XEP-0045 

使用Stanza:

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

Objective-C代码:

NSArray * fields = [newConfig elementsForName:@&#34; field&#34;];
for(NSXMLElement *字段中的字段) {     NSString * var = [field attributeStringValueForName:@&#34; var&#34;];

if ([var isEqualToString:@"muc#roomconfig_maxusers"])
{
    [field removeChildAtIndex:0];
    [field addChild:[NSXMLElement elementWithName:@"value" stringValue:@"50"]];
}

[XMPPRoom configureRoomUsingOptions:newConfig]; }

答案 1 :(得分:0)

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>

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