gloox连接openfire失败的解决方法

最近用gloox写im去连openfire,始终无法连上去。先是TLS handshake succeeded这里死等,

log: level: 0, area: 8192, TLS handshake succeeded

后面又出现

log: level: 1, area: 4, The server offers compression, but negotiating Compressi
on at this stage is not recommended. See XEP-0170 for details. We'll continue an
yway.

改了改代码又出现验证失败,失败值为ConnNotConnected。

而我用spark登陆又没有问题,而前几天去连另外一台机器却没有问题,为什么连自己的机器就有问题了?

最终总算找到了这个问题的原因:安装openfire的时候会让你输域名,我就让它默认了(一般是你的机器名)。后面我用gloox连得时候是用127.0.0.1连的(用本机ip连也有这个问题),换成本机的机器名就可以了。或者在安装openfire的时候将域名改为ip。

例如原来为

JID jid( "[email protected]/gloox" );
      j = new Client( jid, "bbb" );

改为

JID jid( "bbb@域名(一般为机器名)/gloox" );
      j = new Client( jid, "bbb" );

你可能感兴趣的:(gloox连接openfire失败的解决方法)