2016-11-11 8 views
0

私はEjabbered serverXMPPFrameworkの助けを借りて利用可能なチャットグループのリストを取得しようとしています。次に、チャットグループのリストを取得するコードを示します。応答でXMPPFrameworkを使用してチャットグループのリストを取得

- (void) getChatGroupList{ 
    XMPPJID *servrJID = [XMPPJID jidWithString:@"conference.Server"]; 
    XMPPIQ *iq = [XMPPIQ iqWithType:@"get" to:servrJID]; 
    [iq addAttributeWithName:@"from" stringValue:[[self xmppStream] myJID].full]; 
    NSXMLElement *query = [NSXMLElement elementWithName:@"query"]; 
    [query addAttributeWithName:@"xmlns" stringValue:@"http://jabber.org/protocol/disco#items"]; 
    [iq addChild:query]; 
    [[self xmppStream] sendElement:iq]; 
} 

は私が反応して見ることができないグループの

<presence xmlns="jabber:client" from="[email protected]/38489493512952747921478847202003609" to="[email protected] Server/38489493512952747921478847202003609"><priority>24</priority><x xmlns="vcard-temp:x:update"><photo/></x><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="https://github.com/robbiehanson/XMPPFramework" ver="VyOFcFX6+YNmKssVXSBKGFP0BS4="/></presence> 

正確な名前の内部で、次のXMLを取得しています。誰かがここで欠けているものを助けることができるか、グループ名と各グループ内のユーザのリストをどのように入手できますか?

+0

デリゲートメソッドが応答を確認していますか? b'cusがあなたの 'didReceiveIQ'に応答を返すかもしれないので、あなたはiQのタイプに基づいて異なる応答を扱わなければなりません。 – CodeChanger

答えて

0

あなたは何が起こったのか把握しましたか?

私の見たところでは、あなたの要求はOKですが、その応答は他の要求のためでなければなりません。

ご使用のXMPPFrameworkのバージョンがわからない、遅くともXMPPMUCクラスがXEP-0045にあります。 discoverRoomsForServiceNamedに電話して同じことをすることができます。使用するときはXMPPMUCDelegateを実装するようにしてください。

+0

私はMUC用のコードを実装しようとしました。このようにxmppMuc = [[XMPPMUC alloc] init]; [xmppMuc addDelegate:self delegateQueue:dispatch_get_main_queue()]; [xmppMuc discoverRoomsForServiceNamed:@ "192.168.1.76"];しかしdidDiscoverRoomsやfailedToDiscoverRoomsForServiceNamedには決して到達しません。それ以外の設定は必要ですか? –

+0

MUCでは、サービス名はxxx.hostで、デフォルトではconference.hostです。そして、私はあなたも(xmppStream)を有効にする必要があると思います – dichen

+0

実際に私はXMPPを初めて使っていて、あなたが言っていることを正確には得ていません。あなたが持っている場合、リンクの例を共有していただけますか?または私が参照できるどんな文書ですか? –

関連する問題