获取用户已经参与的MUC房间列表

问题描述:

我使用IOS XMPPFramework作为我们的客户端基础设施,我们使用ejabberd作为我们的XMPP服务器。 但是,当用户删除他们的应用程序时,不可能检索已经注册的房间。 是在XMPP类似的东西可能(类似的WhatsApp)获取用户已经参与的MUC房间列表

感谢

+0

再见。顺便说一句,有一个问题可能需要你的帮助。 http://*.com/questions/40637958/fetching-ejabberd-muc-members-list – dichen

  1. 配置一房持续,会员制。
  2. 将用户添加到成员列表中。
  3. Discover room

    xmppStream = XMPPStream()   
    xmppStream!.addDelegate(self, delegateQueue: DispatchQueue.main) 
    
    // MUC 
    muc = XMPPMUC(dispatchQueue: DispatchQueue.main) 
    muc?.activate(xmppStream) 
    muc?.addDelegate(self, delegateQueue: DispatchQueue.main) 
    
    muc?.discoverRooms(forServiceNamed: XmppMUCServer) 
    
+0

但这不给我没有加入房间的列表。它只返回联合房间,但是当我删除我的应用程序时,所有的组聊天列表都被删除了,所以我需要获得我已经成为会员的所有组 – tolgatanriverdi

+0

这是一个自定义需求,不包含在XMPP中,就像简单您可以将用户房间列表存储在服务器上,然后当用户在同一设备或新设备上执行登录时,可以从后端服务器检索房间,然后加入这些房间。 –

+0

@tolgatanriverdi,你有试过吗?我按照我的说法行事,在我身边运作良好。删除应用程序,重新安装,启动。发现房间时,我将获得我所属的所有房间。 – dichen

来实现,这将是存储在服务器上,这将是所有的房间你有兴趣在列表上的书签,作为书签存储在服务器上的样子,你依然可以检索他们当你重新安装应用程序。

定义书签的XMPP扩展是XEP-0048