xmpp 常见错误 一

#pragma mark - 密码错误,身份验证失败

- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(DDXMLElement *)error {

    NSLog(@"身份验证失败%@",error);
    
}
//<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized></not-authorized></failure>

原因:用户名配置有错

    NSString *userName = @"tqhTest";
    
    NSString *hostName = @"127.0.0.1";
    //3.设置XMPPStream的JID和主机
//    [_xmppStream setMyJID:[XMPPJID jidWithString:userName]]; //@127.0.0.1
    [_xmppStream setMyJID:[XMPPJID jidWithUser:userName domain:@"127.0.0.1" resource:nil]];
    [_xmppStream setHostName:hostName];

其实,XMPP认证的问 题,一般都是与JID有关的,因此解决这类问题,首选的入口就是分析一下XMPPStream的JID,客户端在与服务器连接 后,Socket就绑定了这个端口,用来处理与服务器的往返数据,认证就是其中之一.而且,往往我们在与服务器来连接的时候,为了简便,经常使用 localhost或者127.0.0.1来当做域名的部分,这时候要尤其注意,因为使用Spark或者其他客户端程序登录的时候,使用这样的域名登录服 务器是没有问题的,但在代码中处理就要特别小心,一定要在服务器的后段,确认域名统一:

填自己的domain

 

posted @ 2015-04-12 21:54  幻想无极  阅读(1438)  评论(0编辑  收藏  举报