使用Smack 4.1创建新组时获取SmackException NoResponseException

时间:2016-02-15 10:35:44

标签: android xmpp chat smack

我正在使用以下代码创建多用户组,但即使我的超时错误是10秒,也会收到超时错误。

public void createGroup() {

    String roomId = "Group_test003" + "@icoveri.com";
    String nick = "Grouptest";

    try {

        MultiUserChatManager manager = multiUserChatManager.getInstanceFor(connection);

        MultiUserChat muc = manager.getMultiUserChat(roomId);

        muc.create(nick);

        Form form = muc.getConfigurationForm();

        Form submitForm = form.createAnswerForm();

        List<FormField> fields = form.getFields();
        for (int i = 0; i < fields.size(); i++) {
            FormField field = (FormField) fields.get(i);
            if (!FormField.Type.hidden.equals(field.getType()) && field.getVariable() != null) {

                submitForm.setDefaultAnswer(field.getVariable());
            }
        }

        List owners = new ArrayList();
        owners.add(user1234 + "@icoveri.com");
        submitForm.setAnswer("muc#roomconfig_roomowners", owners);

        muc.sendConfigurationForm(submitForm);

    } catch (XMPPException e) {
        e.printStackTrace();
    } catch (SmackException.NoResponseException e) {
        e.printStackTrace();
    } catch (SmackException.NotConnectedException e) {
        e.printStackTrace();
    } catch (SmackException e) {
        e.printStackTrace();
    }

}

我得到的错误是

  

org.jivesoftware.smack.SmackException $ NoResponseException:无响应   收到回复超时。超时为10000毫秒(~10秒)。用过的   filter:AndFilter:(FromMatchesFilter(full):   Group_test003@iscoveri.com/Grouptest,StanzaTypeFilter:   org.jivesoftware.smack.packet.Presence)。

     

在   org.jivesoftware.smack.PacketCollector.nextResultOrThrow(PacketCollector.java:229)   在   org.jivesoftware.smackx.muc.MultiUserChat.enter(MultiUserChat.java:311)   在   org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:400)   在   org.jivesoftware.smackx.muc.MultiUserChat.createOrJoin(MultiUserChat.java:376)

2 个答案:

答案 0 :(得分:1)

我有解决方案。问题出在我的服务中,即iscoveri.com。我不得不使用不同的服务名来创建组。

答案 1 :(得分:0)

我也花了几个小时试图纠正同样的错误;在我的情况下,问题发生在我使用XMPPBOSHConnection时,而不是在使用XMPPTCPConnection时。