我正在尝试使用最新版本的Smack(3.2.1)编写一个简单的示例来在两个帐户之间发送和接收消息。
Connection connection = new XMPPConnection("jabber.org");
connection.connect();
connection.login("username", "password");
但我甚至无法通过登录部分。当我运行上面的代码时,我得到了这个例外:
Exception in thread "main" SASL authentication DIGEST-MD5 failed: invalid-authzid:
at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:337)
at org.jivesoftware.smack.XMPPConnection.login(XMPPConnection.java:203)
at org.jivesoftware.smack.Connection.login(Connection.java:348)
at com.smack.TestSmack.main(TestSmack.java:19)
这里发生了什么?我确信我的用户名和密码有效,因为我可以使用我的IM客户端登录。
有人能指出我目前正在研究Smack的例子吗?这非常令人沮丧,因为文档和库似乎不同步。
谢谢 -
答案 0 :(得分:6)
您是否可以检查您是否在用户名末尾添加“@ jabber.org”?如果你这样做,它将无法正常工作。
否则,如果你已经这样做了,你可能想尝试使用
SASLAuthentication.supportSASLMechanism("PLAIN", 0);
之前
connection.login("username", "password");