gloox使用IP登录openfire

5870阅读 0评论2012-12-17 sxcong
分类:C/C++

gloox缺省的登录方式是使用SaslMechDigestMd5 (DIGEST-MD5),但这样登录域名可以,登录IP提示auth失败。
看了一下其他的xmpp库,在auth失败后,会自动切换到SaslMechPlain(PLAIN)再登录一次,而gloox没有做这个机制。所以在登录失败之后,再手动增加上SaslMechPlain登录机制就可以了。
或者,直接使用SaslMechPlain登录,也就是调用setForceNonSasl(),不过官方文档不推荐。

总结:实际上正式使用的时候,登录的IM服务器都是在域名方式提供的,不存在这个问题。在测试开发的环境下,安装好openfire的时候,习惯上使用IP直接登录,按上面的方法就可以了。如果在开发环境下使用域名也很简单,打开openfire的设置页面,查看host name,可以看到: 
Host Name:9811FC22B9814B1
后面的9811FC22B9814B1会显示实际的hostname,把这个当作域名就可以了,比如jid可以写为: user@9811FC22B9814B1/gloox。

上一篇:MyJingle的使用经验
下一篇:GIMP的柔光(softglow)源码分析