我们正在使用IOS的XMPPFramework来实现我们的移动应用程序的聊天功能。 我们更改了房间名称功能,当管理员更改房间名称时,服务器向所有组接收者发送消息,当所有接收者都在线时,没有问题,但是当用户未加入组时(未连接到那个时候)即使他再次回到网上,他也无法收到这条消息。
我们使用history参数来检索组中的旧消息,但是我们无法接收这些配置更改(以及添加或禁止从服务器禁用的用户的信息)消息。 你知道我们怎么解决这个问题吗?
NSXMLElement *history = [NSXMLElement elementWithName:@"history"];
[history addAttributeWithName:@"seconds" stringValue:[NSString stringWithFormat:@"%.0f",disconnetSecond]];
[xmppRoom joinRoomUsingNickname:cusername history:history];
由于
答案 0 :(得分:2)
使用ejabberd,您可以使用新的MUC / Sub方法并订阅节点“urn:xmpp:mucsub:nodes:config”上的配置更改。 此处描述了规范:https://docs.ejabberd.im/developer/xmpp-clients-bots/proposed-extensions/muc-sub/ 您必须在XMPPFramework中添加支持,因为它尚不支持,但这应该做您需要的。您可以在离线存储中放置配置更改。
答案 1 :(得分:0)
如果您使用Room Subject作为房间名称,则XMPP会自动支持它。此外,还支持changing room subject,并在用户加入房间时将其发送给用户。因此,无论何时您加入会议室,您都会获得更新的主题,您可以在UI上显示它,甚至可以向用户显示该名称已被更改。
中定义的说明操作即可