Android推送注册失败问题排查

最近项目在生产环境上发现有android手机无法连上推送服务器的现象,导致推送无法正常使用。经过之后项目组一系列的排查之后,基本锁定问题原因,下面就是介绍下问题的现象及排查步骤。

现象
生产环境上,如使用3G/4G网络时Android手机无法收到推送消息。但如果切换到行内wifi时,则能正常收到推送。在测试环境上无此现象,一切正常。

排查流程
1、通过客户端日志发现,在使用3G/4G网络时,手机在连接ejabberd推送服务器时注册失败,并不断重新连接。但具体失败原因从客户端日志中无法确定。
2、然后去查看ejabberd的日志,如下图所示
这里写图片描述
图1 注册失败日志
从日志上看,并没发现任何报错或异常信息,只是看到ejabberd在收到客户端发送的starttls请求之后再也没收到其他任何请求。
为了对比成功和失败两种情况的日志,我们使用行内wifi,得到如下日志。
这里写图片描述
图2 注册成功日志(上)
这里写图片描述
图3 注册成功日志(下)
这两张图是同一个日志的两页,需要连起来看。可以发现在starttls请求之后ejabberd还会收到客户端重新初始化的stream流、用户名密码等信息。
通过比较得出的结论:连接中断是发生在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值