xmpp错误新解<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized></not-authorized></failure>

最近调试xmpp,用于视频的甩屏功能,出现了xmpp能够连上服务器,但是无法登陆认证的问题
就是

表示xmpp服务器链接成功
- (void)xmppStreamDidConnect:(XMPPStream *)sender ;

但是会走

xmpp登录失败
- (void)xmppStream:(XMPPStream *)sender didNotAuthenticate:(NSXMLElement *)error;

查看error信息是:

<failure xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><not-authorized></not-authorized></failure>

网上搜索此类错误信息都是 domain设置问题.
但是跟服务器那边测试是没有问题的,安卓是能够调通的.

后来抓取日志看到

设置xmppjid的时候使用的账号明明是小写,但是在服务器那边接收到的是大写

打断点看到
XMPPJID这个类里有个

将账号转换成大写的方法
- (NSString *)user
{
    return [user uppercaseString]; // Why didn't we just synthesize this? See comment above.
}

将此方法修改直接返回user后 问题解决!!!

原来以前安卓也遇到过此类问题.. - -!

为什么会将账号大写呢?

未完待续...

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于XMPP最权威的讲解:http://www.jabbercn.org/RFC3920(这个才是最权威的,下面文...
    随风飘荡的小逗逼阅读 5,410评论 1 5
  • 大学学习网络基础的时候老师讲过,网络由下往上分为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。通过初...
    西门丨不吹雪阅读 5,752评论 0 18
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,473评论 19 139
  • 一、Xmpp资源绑定 XMPP协议设计中引入了一个抽象的资源绑定过程,何为资源,如何绑定?首先这得从JID的格式设...
    AndryYu阅读 8,004评论 0 3
  • 前面关于即时通讯基础Socket,大家学习使用XMPP之前可以先看看即时通讯系列之Socket简介 前言 前段时间...
    音符上的码字员阅读 9,768评论 3 16