来自资源的 Facebook XMPP IM 名称
Posted
技术标签:
【中文标题】来自资源的 Facebook XMPP IM 名称【英文标题】:Facebook XMPP IM name from resource 【发布时间】:2012-10-04 09:25:30 【问题描述】:我正在使用 FB XMPP,我想知道用户使用的是什么客户端。如果我使用 Google Talk 聊天,我可以在资源属性中获取/设置它。但在 FB 聊天中它不起作用。虽然我设置了它,但它总是空的。
jid = [节点“@”]域[“/”资源]
使用 agsXMPP:
设置:xmppClient.Resource = "::ISIM::";
获取:presence.From.Resource
谷歌:id@gmail.com/::ISIM::478f568d
脸书:id@chat.facebook.com/
我怎样才能知道该用户正在使用我的客户端?有人有这方面的经验吗?
【问题讨论】:
【参考方案1】:您应该为此使用服务发现或客户端版本。 见:XEP-0030: Service DiscoveryXEP-0092: Software Version
【讨论】:
你到底是什么意思?我是这方面的新手。所以我不知道我到底应该寻找什么。【参考方案2】:服务发现和软件版本不适用于 Facebook 的 XMPP 服务器。这是一个例子,我刚刚尝试发送一个简单的:
<iq xmlns="jabber:client" type="get" to="xxxxxxx@chat.facebook.com"
id="5"><query xmlns="http://jabber.org/protocol/disco#info"/></iq>
这就是 Facebook 的回答:
<iq from="xxxx@chat.facebook.com" to="xxxxxx@chat.facebook.com/xxxxxx" type="error" xml:lang="en"
id="5"><query xmlns="http://jabber.org/protocol/disco#info"/><error code="503"
type="cancel"><service-unavailable xmlns="urn:ietf:params:xml:ns:xmpp-
stanzas"/></error></iq>
【讨论】:
以上是关于来自资源的 Facebook XMPP IM 名称的主要内容,如果未能解决你的问题,请参考以下文章