XMPP - iphone sdk 中的用户搜索?在 iphone sdk 中使用 XEP-0055?

Posted

技术标签:

【中文标题】XMPP - iphone sdk 中的用户搜索?在 iphone sdk 中使用 XEP-0055?【英文标题】:XMPP - user search in iphone sdk ? use of XEP-0055 in iphone sdk? 【发布时间】:2011-06-17 11:35:48 【问题描述】:

我正在将此 IQ 发送到 openfire 服务器

< iq type="set" from="admin@localhost.localdomain" to="localhost.localdomain" id="search2" xml:lang="en" > < query xmlns="jabber:iq:search" > < first > admin < /first > < /query > < /iq >

但从服务器收到以下响应,

< iq type="error" id="search2" from="localhost.localdomain" to="admin@localhost.localdomain/b91c09e5"><query xmlns="jabber:iq:search" >  < first > admin < /first > < /query > < error code="501" type="cancel" > < feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/ > < /error > < /iq >

即使我已经安装了搜索插件并且还在 openfire 服务器中启用了用户搜索...

为什么会这样?如何解决这个问题?有什么建议或帮助吗?

我还向服务器发送了迪斯科查询以检查支持哪些功能:

输入:

这是我得到的输出:

我在此列表中没有找到与服务器上的用户搜索相关的任何内容....!!

【问题讨论】:

我也先通过了这个iq, 但在这种情况下,我也收到错误代码:501,功能未实现来自服务器的响应。 这里“localhost.localdomain”是服务器名称。 【参考方案1】:

urn:ietf:params:xml:ns:xmpp-stanzas

我认为您需要处理客户端应用程序中的“节”。

【讨论】:

我已经从我的客户端应用程序创建自定义节。根据文档 XEP-0055,我正在创建自定义 iq 节并按顺序传递它们....【参考方案2】:

有时您必须将XEP-55 发送到另一个组件。使用 XEP-30 (Disco) 在本地服务器中搜索实现 jabber:iq:search 功能的组件。

【讨论】:

【参考方案3】:
<iq type='set' id='purple9ae3ed' to='vjud.yourserver.org'>
   <query xmlns='jabber:iq:search'>
     <x xmlns='jabber:x:data' type='submit'>
        <field var='first'><value>Rub*</value></field>
    </x>
  </query>
</iq>

【讨论】:

以上是关于XMPP - iphone sdk 中的用户搜索?在 iphone sdk 中使用 XEP-0055?的主要内容,如果未能解决你的问题,请参考以下文章

成功登录xmpp服务器后如何获取xmpp用户(iPhone SDK)?

在 iphone sdk 中使用 xmpp 管理朋友?

如何在 iphone sdk 的 xmpp 中发送带有消息的笑脸/情感(图像)?

将 XMPP 与 iPhone SDK 一起使用?

XMPP Chat for iPhone 中的注册流程

集成到搜索栏中的活动指示器不会显示在iPhone SDK中