我尝试使用Smack API从Java连接到Vines XMPP服务器。但是,当我使用以下连接代码时:
ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration("localhost", 5222);
this.connection = new XMPPConnection(connectionConfiguration);
connection.connect();
connection.login(AUCTION_LOGIN, AUCTION_PASSWORD, AUCTION_RESOURCE);
我收到以下错误消息:
Caused by: Session establishment not offered by server:
at org.jivesoftware.smack.SASLAuthentication.bindResourceAndEstablishSession(SASLAuthentication.java:456)
我理解与XMPP协议中的sessions now being deprecated相关的问题。我找不到使用ConnectionConfiguration类和其他人来解决这个问题的方法是不成功的。
答案 0 :(得分:0)
您似乎使用旧的,易受攻击的Smack版本(即<4.0.0)。
当前稳定的Smack版本不会抛出这样的异常,因为它认为会话绑定是选项。甚至可以使用setLegacySessionDisabled(true)
完全禁用它。