ios - XMPPFramework 和 OpenFire 服务器,身份验证正常,连接挂起

标签 ios xmpp openfire xmppframework

我正在尝试使用 iOS 版 XMPPFramework 连接到 OpenFire 服务器。 连接建立,身份验证完成(强制为普通),但身份验证后发送了重新协商包,但没有响应。 我尝试在 StackOverflow、google 和 OpenFire 支持上进行搜索,但找不到任何有用的东西。

我的 XML 转储(来自应用程序):

2012-07-26 13:07:26:745 iPhoneXMPP[1777:707] iPhoneXMPPAppDelegate: xmppStream:socketDidConnect:
2012-07-26 13:07:26:749 iPhoneXMPP[1777:1c03] SEND: <?xml version='1.0'?>
2012-07-26 13:07:26:750 iPhoneXMPP[1777:1c03] SEND: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' to='xmpp.mobile-engineering.nl'>
2012-07-26 13:07:26:981 iPhoneXMPP[1777:1b03] RECV: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="xmpp.mobile-engineering.nl" id="153cc75d" stream1:lang="en" version="1.0"/>
2012-07-26 13:07:27:107 iPhoneXMPP[1777:1c03] RECV: <stream:features xmlns:stream="http://etherx.jabber.org/streams"><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/></stream:features>
2012-07-26 13:07:27:113 iPhoneXMPP[1777:707] iPhoneXMPPAppDelegate: xmppStreamDidConnect:
2012-07-26 13:07:27:116 iPhoneXMPP[1777:707] SEND: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">AGhvcHNhAGhvcHNh</auth>
2012-07-26 13:07:27:219 iPhoneXMPP[1777:1b03] RECV: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>
2012-07-26 13:07:27:220 iPhoneXMPP[1777:1b03] SEND: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' to='xmpp.mobile-engineering.nl'>

最后一条消息是发送到服务器的消息,到这里就结束了。 当我询问 XMPPFramework 状态是什么时,我得到:STATE_XMPP_OPENING

我从上面的 XML 转储中得到的是身份验证成功。但下一步不是...

我在这里做错了什么?

最佳答案

我已经使用下页提到的补丁修复了它: https://github.com/robbiehanson/XMPPFramework/issues/81

看起来框架发送了消息,但没有监听它。我已经安装了补丁,现在可以登录 OpenFire 服务器了!

关于ios - XMPPFramework 和 OpenFire 服务器,身份验证正常,连接挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11667997/

相关文章:

ios - 如何在 Xcode 项目中将字典数组写入 .txt 文件

ios - 在 NSBatchDeleteRequest 之后使用核心数据

java - Openfire GitHub Eclipse

android - 在不使用 GCM 的情况下在 Android 中推送通知

ios - 推送通知显示自定义警报

ios - 处理平移手势的最佳方式

javascript - 如何在 openfire 存在下将离线更改为在线?

android - 使用 xmpp 传输文件时出现错误代码 503

java - 无法使用 Smack 在 OpenFire 上注册新用户。这些节是什么意思?

javascript - XMPP CORS 域错误