2012-08-04 63 views
0

我有一个页面,列出了所有的公共聊天室,我想有: 总居住者/最大用户XMPP MUC最大用户数

IE。 (05/10室内人员)

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

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

回答

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> 

如果您的服务器不返回这一点,或许提交功能请求。

1
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 *字段= [NEWCONFIG elementsForName:@ “字段”]; (字段中的NSXMLElement *字段)
NSString * var = [field attributeStringValueForName:@“var”];

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

[XMPPRoom configureRoomUsingOptions:newConfig]; }