Java和Jabber / Smack

时间:2011-07-12 03:31:18

标签: java xmpp smack

我正在尝试使用最新版本的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的例子吗?这非常令人沮丧,因为文档和库似乎不同步。

谢谢 -

1 个答案:

答案 0 :(得分:6)

您是否可以检查您是否在用户名末尾添加“@ jabber.org”?如果你这样做,它将无法正常工作。

否则,如果你已经这样做了,你可能想尝试使用

SASLAuthentication.supportSASLMechanism("PLAIN", 0);

之前

connection.login("username", "password");