打 Openfire Android 无法将消息发送到组/房间错误 403 禁止

标签: Java Android
发布时间: 2017/3/19 13:01:41
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
MultiUserChatManager manager = MultiUserChatManager.getInstanceFor(xmppconnection.getConnection());
try {
    MultiUserChat muc = manager.getMultiUserChat("test2@conference.cca");

    muc.join("test2@conference.cca");

    Message msg = new Message("test2@conference.cca", Message.Type.groupchat);
    msg.setBody("Hi Testing..Group chat..");
    muc.sendMessage(msg);
    // muc.join("test", "1234");
} catch (SmackException.NotConnectedException e) {
    e.printStackTrace();
} catch (SmackException e) {
    e.printStackTrace();
} catch (XMPPException.XMPPErrorException e) {
    e.printStackTrace();
} catch (XMPPException e) {
    e.printStackTrace();
}

错误是︰

错误代码 ="403"类型 ="身份验证"禁止 xmlns ="urn: ietf:params: xml : ns:xmpp-小节"/ > * *

解决方法 1:

有几个错误,逻辑和程序。

与这种调用︰

 MultiUserChat muc = manager.getMultiUserChat("test2@conference.cca");

muc 对象中,你有你的群聊。 所以你需要检查是否你已经加入此群聊或双联接将引发异常。

所以

if (!muc.isJoined())
 muc.join("My nickname");

更重要是,当你加入,你必须提供独一无二的昵称,每个用户加入,或你会获得与第二个用户异常。设置为外号叫同一个名字的群聊是 99%逻辑上的错误。

最后,发送一条消息,只是发送它通过 MUC 对象或你会风险,想在这种情况下,错过了一些信息。

所以只是发送它与

muc.send("Hi Testing..Group chat..");

最后但并非最不重要︰ 当然必须存在 multiuserchat 或 inititilized 前得当的话,它的做这一切的前提条件。作为第一步,只是它在创建 Openfire 与 http 管理面板 (使其持续)

赞助商