2011-11-15 26 views
3

我已经设置了自己的Openfire服务器,并使用Spark和Adium进行了测试。连接然而talk.google.com时XMPPframewok with openfire

2011-11-16 01:34:26:850 iPhoneXMPP[1245:207] iPhoneXMPPAppDelegate: xmppStream:socketDidConnect: 
2011-11-16 01:34:26:850 iPhoneXMPP[1245:8d0f] SEND: <stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' to='flashmatch.net'> 
2011-11-16 01:34:27:464 iPhoneXMPP[1245:7b13] RECV: <stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="ip-10-112-57-167" id="ff9c2cf2" xml:lang="en" version="1.0"/> 
2011-11-16 01:34:27:772 iPhoneXMPP[1245:8d0f] RECV: <stream:features><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"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features> 
2011-11-16 01:34:27:772 iPhoneXMPP[1245:207] iPhoneXMPPAppDelegate: xmppStreamDidConnect: 
2011-11-16 01:34:27:772 iPhoneXMPP[1245:207] SEND: <auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='DIGEST-MD5'/> 
2011-11-16 01:34:28:079 iPhoneXMPP[1245:7b13] RECV: <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09ImlwLTEwLTExMi01Ny0xNjciLG5vbmNlPSIycWZoY01JL0R2a0Z0ME41TmNSdGpUaGk0dmVOamk4YUxHMU9LMmZwIixxb3A9ImF1dGgiLGNoYXJzZXQ9dXRmLTgsYWxnb3JpdGhtPW1kNS1zZXNz</challenge> 
2011-11-16 01:34:28:079 iPhoneXMPP[1245:7b13] decoded response: username="alan",realm="ip- 10-112-57-167",nonce="2qfhcMI/DvkFt0N5NcRtjThi4veNji8aLG1OK2fp",cnonce="8C2C32EC-532A-4A75-8166-F75387CE2F84",nc=00000001,qop=auth,digest-uri="xmpp/flashmatch.net",response=8b1ad8c7c968a92d36ff6ed895b0ed80,charset=utf-8 
2011-11-16 01:34:28:080 iPhoneXMPP[1245:7b13] SEND: <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">dXNlcm5hbWU9ImFsYW4iLHJlYWxtPSJpcC0xMC0xMTItNTctMTY3Iixub25jZT0iMnFmaGNNSS9EdmtGdDBONU5jUnRqVGhpNHZlTmppOGFMRzFPSzJmcCIsY25vbmNlPSI4QzJDMzJFQy01MzJBLTRBNzUtODE2Ni1GNzUzODdDRTJGODQiLG5jPTAwMDAwMDAxLHFvcD1hdXRoLGRpZ2VzdC11cmk9InhtcHAvZmxhc2htYXRjaC5uZXQiLHJlc3BvbnNlPThiMWFkOGM3Yzk2OGE5MmQzNmZmNmVkODk1YjBlZDgwLGNoYXJzZXQ9dXRmLTg=</response> 
2011-11-16 01:34:28:386 iPhoneXMPP[1245:8d0f] RECV: <failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized/></failure> 
2011-11-16 01:34:28:386 iPhoneXMPP[1245:207] iPhoneXMPPAppDelegate: xmppStream:didNotAuthenticate: 

同一样品项目运作良好:虽然我从运行的XMPPFramework样本项目时,为iOS得到了下面的验证错误。任何人都知道这里出了什么问题?

+0

我遇到同样的问题。管理找到解决方案? – user281300

+0

我也是。任何运气找到解决方案? –

回答

5

如果没有查看代码,但认证问题指出您的用户JID或密码存在问题,则很难猜测问题。所以我可以想到两个可能的问题:

  1. 您应该确保您已在Openfire中正确设置您的用户和密码。
  2. 如果设置正确,请检查“服务器名称”属性。转到你的管理面板 - >服务器信息 - >服务器名称。这应该与您的iOS项目中的用户的域名匹配。让我们看看这个例子:如果你的服务器名称设置为“127.0.0.1”,那么你应该使用[email protected],使用YOURUSER @ localhost将不起作用将在认证过程中失败。
4

当您尝试登录,提供用户名与服务器的像“[email protected]” IP地址

如果你想在一个指定的域登录,然后添加这些行setupStream中的代码方法

[xmppStream setHostName:@"google.com"];//domain name 
[xmppStream setHostPort:5222];//port number 
3

您可以在管理面板中检查openfire ServerName。

服务器管理器>服务器信息>服务器名称:[服务器]

主机地址/ IP可能是从一个服务器名称不同:

[host_address]:9090/- 管理面板[server_name]

如果服务器名称与主机地址设置不同,如下所示。在大多数情况下,服务器名称&的主机地址相同。所以在使用iOS xmppframework进行身份验证时没有问题。

xmppStream.hostName = @"hostaddress"; 
xmppStream.hostPort = 5222; 

jabberID = @"[email protected]";