2012-04-09 71 views
1

我是XMPP的新手。目前我正在开发一个使用openfire和xmpp的聊天应用程序。 当用户登录到服务器时,服务器必须获取用户使用的Web浏览器的信息。如何在XMPP应用程序中获取Web浏览器的名称?

有什么方法吗?我正在考虑使用迪斯科#信息和迪斯科#项目来做到这一点,但不知道该怎么办...

谢谢。

回答

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); 
相关问题