Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 使用搜索词的XMPP查询组聊天(MUC)目录_Objective C_Xmpp_Openfire_Xmppframework - Fatal编程技术网

Objective c 使用搜索词的XMPP查询组聊天(MUC)目录

Objective c 使用搜索词的XMPP查询组聊天(MUC)目录,objective-c,xmpp,openfire,xmppframework,Objective C,Xmpp,Openfire,Xmppframework,创建一个XMPP客户机,其中一部分涉及查询目录中名称与特定搜索词匹配的聊天室。让我们称之为搜索词搜索 下面的XML(带有正确的to/from)提供了所有聊天室的列表 <iq from='hag66@shakespeare.lit/pda' id='disco2' to='chat.shakespeare.lit' type='get'> <query xmlns='http://jabber.org/protocol/disco#items'/> </i

创建一个XMPP客户机,其中一部分涉及查询目录中名称与特定搜索词匹配的聊天室。让我们称之为搜索词搜索

下面的XML(带有正确的to/from)提供了所有聊天室的列表

<iq from='hag66@shakespeare.lit/pda' id='disco2' to='chat.shakespeare.lit' type='get'>
      <query xmlns='http://jabber.org/protocol/disco#items'/>
</iq>

示例结果:

<iq xmlns="jabber:client" type="result" id="disco2" from="chat.shakespeare.lit" to="hag66@shakespeare.lit/pda">
    <query xmlns="http://jabber.org/protocol/disco#items">
        <item jid="example@shakespeare.lit" name="Example"/>
    </query>
</iq>

但是,我只需要查询与特定术语匹配的聊天室。 看看XMPP XML语法,看起来这些XML查询之一应该可以工作:

<iq type="get" from="hag66@shakespeare.lit/pda" to="chat.shakespeare.lit" id="disco2">
    <query xmlns="jabber:iq:search">
        <x xmlns="jabber:x:data" type="get">
            <field var="name">
                <value>*SEARCH*</value>
            </field>
        </x>
    </query>
</iq>

*搜寻*
或者这个:

<iq type="set" from="hag66@shakespeare.lit/pda" to="chat.shakespeare.lit" id="search2">
    <query xmlns="jabber:iq:search">
        <item name="*SEARCH*"/>
    </query>
</iq>

我尝试过将“get”切换到“set”,反之亦然。 我还尝试删除通配符,并对我知道存在的房间进行文字搜索

有人知道在XMPP MUC服务的同一查询中搜索一个或多个名称(通配符)的正确语法是什么吗

编辑:我的XMPP服务器支持以下群组聊天服务功能

<iq xmlns="jabber:client" type="result" from="chat.shakespeare.lit" to="hag66@shakespeare.lit/pda">
    <query xmlns="http://jabber.org/protocol/disco#info">
        <identity category="conference" name="Public Chatrooms" type="text"/>
        <identity category="directory" name="Public Chatroom Search" type="chatroom"/>
        <feature var="http://jabber.org/protocol/muc"/>
        <feature var="http://jabber.org/protocol/disco#info"/>
        <feature var="http://jabber.org/protocol/disco#items"/>
        <feature var="jabber:iq:search"/>
        <feature var="http://jabber.org/protocol/rsm"/>
    </query>
</iq>

有什么想法吗? 任何人我会满足于一种获得我创建的聊天室列表的方式吗