【问题标题】:Listing available chat rooms in XMPP connection列出 XMPP 连接中的可用聊天室
【发布时间】:2016-10-20 14:17:16
【问题描述】:

我可以知道如何使用 Smack-Java 列出特定 XMPP 连接和用户的所有可用聊天室(已创建)。也就是说,我想要的解决方案如下所示:

room1@conference.localhost.com room2@conference.localhost.com . . . 谢谢。

【问题讨论】:

    标签: java xmpp openfire smack


    【解决方案1】:

    您可以使用 openfire 提供的 REST api 来获取所有聊天室。 详情请参考this

    【讨论】:

      【解决方案2】:

      如果没有插件,您基本上需要检索服务器上所有可用的服务,然后是 jid(注意:如果群聊是私人的,您将无法在列表中检索)

      String groupchatHosted = ""; 
      
      for (String service : MultiUserChatManager.getInstanceFor( connection ).getServiceNames();)
      {  
         List<HostedRoom> hosted = MultiUserChatManager.getInstanceFor( connection ).getHostedRooms( service  ));
      
            for (HostedRoom room : hosted)
           {
             groupchatHosted += room.getJid() + " ";
           }
         }
      

      您将通过所有服务获取您的字符串(或仅使用字符串列表或其他集合)

      【讨论】:

        猜你喜欢
        • 2012-12-19
        • 1970-01-01
        • 2012-02-01
        • 1970-01-01
        • 2014-06-17
        • 2014-07-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多