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。
阅读(5750) | 评论(0) | 转发(0) |