openfire サーバーに既に存在する部屋の数を取得するために、XMPP に定義済みの方法はありますか。徹底的な検索を行いましたが、うまく機能する答えを得ることができません。
openfire サーバー (作成済み) で利用可能なルームを取得する方法を教えてください。
コード
boolean supports = MultiUserChat.isServiceEnabled(conn, "user3@host.org/Smack");
NUll ポインターを返しています。
SmackAPIのMultiUserChatクラスのgetHostedRoomsメソッドを使用できます。
public static Collection<HostedRoom> getHostedRooms(Connection
connection, String serviceName) throws XMPPException
これにより、サーバー上のすべてのパブリックルームのコレクションが返されます。そして、このチェックの前に、ユーザーがMUCをサポートしているかどうかを確認します。
boolean supports = MultiUserChat.isServiceEnabled(conn, "user3@host.org/Smack");
これに関する詳細は、smackapiガイドにあります。