告诉您我已经继承了这个项目,因此您知道我并不知道这一切是如何实现的。
项目: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
答案 0 :(得分:1)
事实证明,当XMPP消息被错误地创建但正确发送时会发生这种情况。这是“断开连接,因为消息语法错误”。