我是XMPP的新手。目前我正在使用openfire和xmpp开发聊天应用程序。 当用户登录服务器时,服务器必须获取用户使用的Web浏览器的信息。
有什么方法吗?我正在考虑使用disco #info和disco#item来做到这一点,但不知道该怎么做......
谢谢。
答案 0 :(得分:0)
在XMPP中有多种方式来传达软件和版本。决定使用哪种方法的一种方法是问自己想要的信息。
如果您使用软件版本来检测应用程序中的功能,则需要查看实际使用XEP-0115: Entity Capabilities的disco#info and disco#features。
如果您确实只想将软件的名称和版本作为字符串用于报告和显示,则可以使用XEP-0092: Software Version。在我编写的使用Strophe.js的应用程序中,我使用以下代码与BrowserDetect:
function version_handler(stanza)
{
conn.send($iq({to: stanza.getAttribute("from"), type: "result", id: stanza.getAttribute("id") })
.c('query', { xmlns: "jabber:iq:version" })
.c('name').t(BrowserDetect.browser).up()
.c('version').t(BrowserDetect.version.toString()).up()
.c('os').t(BrowserDetect.OS).tree());
return true;
}
和
conn.addHandler(version_handler, "jabber:iq:version", "iq", "get", null, null);