2012-04-23 38 views
1

我正在寫一個使用gloox 1.0的基於xmpp的聊天客戶端。我無法找到使用gloox的方式來獲取服務器上的活動房間列表(其他用戶創建的房間)。我使用openfire作爲我的本地服務器。我怎樣才能做到這一點?如何使用gloox lib獲得活動房間列表?

回答

0

您需要創建一個Disco對象和一個繼承DiscoHandler的自定義類。

要查詢列表,請撥打getDiscoItems(muc_server_jid, ...)。您的DiscoHandler應該實現handleDiscoItems(),其中收到Disco::Items對象,items

您可以使用items.itemList()獲取指向Disco::Item對象的指針std::list。對於每個Disco :: Item,您可以調用item.jid()和item.name()來獲取房間的地址和(可選)名稱。

+0

非常感謝!我會嘗試。 – 2012-04-24 03:12:06

+0

我有我的課:ChatBotDiscoHandler_cl:公共DiscoHandler實現handleDiscoItems(常量JID&從,常量Disco ::項目和項目,int上下文);。然後我調用m_pClient-> disco() - > getDiscoItems(m_pClient-> jid()。server(),EmptyString,new ChatBotDiscoHandler_cl(),0);.但是,當我調試時,它不會運行到我的派生方法。請告訴我我錯在哪裏? – 2012-04-25 03:36:03

相關問題