笑忘书客 2019-10-17 16:39 采纳率: 100%
浏览 236

为什么我在已经设置离线,断开连接后再重新登录openfire,会偶现报409的错误(资源冲突)?

我退出时的代码实现,这里的在退出后重新启动service是因为我的登录方法是写在service里面的:

public static void logOut(final Context mContext) {
  //这里需要先将登陆状态改变为“离线”,再断开连接,不然在后台还是上线的状态
        Presence presence = new Presence(Presence.Type.unavailable);
        try {
            XmppConfig.getInstance(mContext).sendStanza(presence);

            if (connection.isConnected()) {

                connection.disconnect();
                connection.instantShutdown();


            }
            connection = null;
            Intent intent = new Intent(mContext, ChatService.class);
            mContext.startService(intent);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

最后报的错误:

//我们向服务器发送的IQ消息,进行最后的鉴权
D/SMACK: SENT (1): <iq id='7XCqy-82' type='set'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>Android</resource></bind></iq>
//服务器向我们返回的IQ结果:鉴权失败(<error code="409" type="cancel"><conflict xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error>)
D/SMACK: RECV (1): <iq type="error" id="7XCqy-82" to="win-arbj87ei5km/22nzst74hd"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>Android</resource></bind><error code="409" type="cancel"><conflict xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/></error></iq>
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料
    • ¥15 使用R语言marginaleffects包进行边际效应图绘制