【问题标题】:XMPP stream sending, not receiving. Why might an XMPP stream disconnect?XMPP 流发送,不接收。为什么 XMPP 流可能会断开连接?
【发布时间】:2014-02-06 23:47:29
【问题描述】:

只是让您知道我继承了这个项目,以便您知道我不知道这一切是如何实现的。

项目:iOS 上的 XMPP/Jabber 聊天客户端,支持 PHP 服务器

我正在两个物理 iPhone 设备上测试该应用程序。

看起来应用正在发送它应该通过 XMPP 流发送的消息,但应用肯定没有收到这些消息。

每次应用应收到一条消息时,它都会重新协商它在应用开始运行时所做的 XMPP 握手。

对此进行了调查,我发现流可能是断开连接或类似的东西。这是我实现的两条日志消息。它们包含正在运行的方法名称以及与该方法关联的 NSError 的内容

2014-02-06 18:28:50.140 AppName[9841:473b] --Socket Closed With Error--
Domain: (null)
UserInfo: (null)
2014-02-06 18:28:50.147 AppName[9841:60b] --xmppStreamDidDisconnect--
Domain: libxmlErrorDomain
UserInfo: {
    NSLocalizedDescription = "Couldn't find end of Start Tag body\n";
}

假设 1: 最明显的是,我查看了错误域和描述。 但是,还没有找到“找不到开始标签正文的结尾”的运气

假设 2: 我在某个论坛上读到,如果多个设备尝试使用相同的凭据登录同一服务器,XMPP 流可能会断开连接。我担心这可能是这里发生的事情,但是我如何确定这些凭据是否相同。这两个设备使用两个不同的用户名/用户 ID,我相信这对于 XMPP 来说已经足够了。

他们使用相同的 IP,但这对于 XMPP 来说很自然,不是吗?

例如。使用的 JID:

   user1@my.site.ip
   user2@my.site.ip

【问题讨论】:

    标签: php ios xmpp xmppframework


    【解决方案1】:

    事实证明,当 XMPP 消息创建不正确但发送正确时,就会发生这种情况。这是“由于消息语法错误而断开连接”。

    【讨论】:

      猜你喜欢
      • 2015-12-03
      • 1970-01-01
      • 2015-10-25
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 2015-09-28
      • 2016-10-26
      • 1970-01-01
      相关资源
      最近更新 更多