XMPP流发送,不接收。为什么XMPP流可以断开连接?

时间:2014-02-06 23:47:29

标签: php ios xmpp xmppframework

告诉您我已经继承了这个项目,因此您知道我并不知道这一切是如何实现的。

项目: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流可以断开连接。我担心这可能是这里发生的事情,但我怎么知道这些是否是相同的凭据。这两个设备使用两个不同的用户名/用户名,我相信这对XMPP来说已经足够了。

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

离。使用的JID:

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

1 个答案:

答案 0 :(得分:1)

事实证明,当XMPP消息被错误地创建但正确发送时会发生这种情况。这是“断开连接,因为消息语法错误”。