【问题标题】:Java and Jabber/Smack [closed]Java 和 Jabber/Smack [关闭]
【发布时间】:2011-07-12 03:31:17
【问题描述】:

我正在尝试编写一个简单的示例,使用最新版本的 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 分钟,因为我需要在评论中找出你输入错误的密码。 :-)
  • 这个问题似乎是题外话,因为它是关于输入错误的密码。

标签: java xmpp smack


【解决方案1】:

您能否检查一下您没有在用户名末尾添加“@jabber.org”?如果你这样做,它不会工作。

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

SASLAuthentication.supportSASLMechanism("PLAIN", 0);

之前

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

【讨论】:

  • 不,我的用户名末尾没有@jabber.org。我尝试添加 SASLAuthentication 行,但出现此错误:
  • 线程“主”SASL 身份验证 PLAIN 中的异常失败:invalid-authzid: at org.jivesoftware.smack.SASLAuthentication.authenticate(SASLAuthentication.java:337) at org.jivesoftware.smack.XMPPConnection.login (XMPPConnection.java:203) 在 org.jivesoftware.smack.Connection.login(Connection.java:348) 在 com.smack.TestSmack.main(TestSmack.java:20)
  • 感谢您的建议。还有其他想法吗?
  • 我发现了问题。尴尬的是,我输错了密码。这太蹩脚了,我很抱歉浪费了你的时间。我将为您提供解决方案的功劳,以便解决此问题。
  • 大声笑,我考虑过了 :-) 感谢您的投票!
猜你喜欢
  • 1970-01-01
  • 2010-11-08
  • 2011-03-25
  • 1970-01-01
  • 1970-01-01
  • 2012-04-09
  • 1970-01-01
  • 1970-01-01
  • 2011-05-11
相关资源
最近更新 更多