我正在ios上创建一个XMPP示例。我想要做的是搜索用户而不是xmpp。我检查了opernfire服务器并启用了搜索插件。我经历了XEP:0055并找到了这一节。我也经历了this so question,但确实
我完成了xmpp连接和登录。现在这里有关于我的服务器的详细信息:
主机名= 10.x.x.x; 服务器名称= abcd;
我从XEP 0055链接获得的请求格式是:
<iq type='set' from='romeo@montague.net/home' to='characters.shakespeare.lit' id='search2' xml:lang='en'>
<query xmlns='jabber:iq:search'>
<last>Capulet</last>
</query>
</iq>
我不知道characters.shakespeare.lit
是什么。我假设这是服务器名称。所以我创建了以下请求:
<iq to="abcd" id="search2" xml:lang="en">
<query xmlns="jabber:iq:search">
<Username>kapil</Username>
</query>
</iq>
但我没有得到任何回应。我尝试使用to
和search.abcd
替换10.x.x.x
值,但我甚至没有收到此rquest的任何响应IQ。
任何帮助PLZ。
答案 0 :(得分:1)
shakespeare.lit是xmpp主机名。 'characters'是搜索服务名称。
答案 1 :(得分:0)
这是目录服务的名称。如果连接到服务器,则可以检索服务列表并使用该服务器的目录服务。或者,您可以使用任何服务器的目录服务(根据服务的配置,您不必连接到托管服务的服务器)。
答案 2 :(得分:0)
var iq = $iq({
type: 'set',
id: 'search2',
to: 'vjud.yourserver.org'
})
.c('query', {xmlns: 'jabber:iq:search'})
.c('x', {xmlns: 'jabber:x:data', type:'submit'})
.c('field', {var: 'first'}).c('value','Rub*').up();
conn.sendIQ(iq);
注意: to:characters.shakespeare.lit
不是您的服务器,而是vcard服务搜索。