2

我正在尝试使用适用于 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 转储中得到的是身份验证成功。但下一步不是...

我在这里做错了什么?

4

2 回答 2

2

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

似乎框架发送了消息,但没有监听它。我已经实现了补丁,现在可以登录 OpenFire 服务器了!

于 2012-07-27T08:28:26.407 回答
1

嗨,我也看到了同样的问题,我只是想连接到 Jabber.org。我的 didAuthenticate 和 didNotAuthenticate 方法没有被调用。是否有我们尚未设置的通知?

我的转储:

2012-07-27 00:24:22:013 cloud9learning[41017:1c03] RECV: <stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" from="jabber.org" id="d528010a9f1f6e27" version="1.0"/>
2012-07-27 00:24:22:014 cloud9learning[41017: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>CRAM-MD5</mechanism><mechanism>LOGIN</mechanism><mechanism>PLAIN</mechanism><mechanism>DIGEST-MD5</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><ver xmlns="urn:xmpp:features:rosterver"><optional/></ver></stream:features>
2012-07-27 00:24:22:014 cloud9learning[41017:c07] JabberManager: xmppStreamDidConnect:
2012-07-27 00:24:24:750 cloud9learning[41017:c07] SEND: <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5"/>
RECV: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">bm9uY2U9IlBsRlh4eGVFa1hZdnRNYVdBdVdQT1F3a0VURjVDVnl6ZWxzODZZbkxmcFE9IixyZWFsbT0iamFiYmVyLm9yZyIscW9wPSJhdXRoIixtYXhidWY9MTYzODQsY2hhcnNldD11dGYtOCxhbGdvcml0aG09bWQ1LXNlc3M=</challenge>
2012-07-27 00:24:24:841 cloud9learning[41017:4603] SEND: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9ImNsb3VkOXRlc3QiLHJlYWxtPSJqYWJiZXIub3JnIixub25jZT0iUGxGWHh4ZUVrWFl2dE1hV0F1V1BPUXdrRVRGNUNWeXplbHM4NlluTGZwUT0iLGNub25jZT0iNzc1N0M5RUQtNjJGQy00M0VCLUIxOUYtNjlBREYzRkFBMTlFIixuYz0wMDAwMDAwMSxxb3A9YXV0aCxkaWdlc3QtdXJpPSJ4bXBwL2phYmJlci5vcmciLHJlc3BvbnNlPTUxZmY3YTFhYzI1NzM5ZTIxOGQ2MmI0Njk1NjE0ZjcwLGNoYXJzZXQ9dXRmLTg=</response>
2012-07-27 00:24:24:932 cloud9learning[41017:6e03] RECV: <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1lYzE4OTI1YTY0NTZlMzMwMDg3ZTZjZmE1ZmQzMjMzZQ==</success>
2012-07-27 00:24:24:932 cloud9learning[41017:6e03] SEND: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' to='jabber.org'>
于 2012-07-27T07:28:44.673 回答