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