AP配网部分手机Socket概率性连不上设备问题排查

文章描述了一个APP在通过智能锁的AP热点进行Socket连接时遇到的问题,特别是部分vivoY51s手机会出现连接失败的情况。通过日志分析,发现连接错误发生在Android系统原生API。为了解决这个问题,开发者采取了优化策略,即在超时时间内不断重试Socket连接,最终在大约第16次尝试时能够成功。这可能是由于手机在连接后还在进行WiFi可用性检测,导致暂时无法真正连接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

公司业务是APP通过连接智能锁临时开启的AP热点,与智能锁进行通信,然后把可用的WIFI名称,密码传输到锁端,智能锁通过WiFi名与密码进行联网。在实际的使用过程中发现有部分手机(vivo y51s)虽然已经连接上智能锁开启的AP热点,但是Socket连接会报错,导致整个流程无法继续,设备AP配网失败,无法连接可用WiFi。

通过日志分析,是在这一行报错的

 这一行是Android系统原始的API,这一行报错并没有什么办法可以解决。百思无果,决定试一下手机到底能不能ping通设备。

 通过 adb shell ping 192.168.1.1命令发现,手机在部分时间是可以ping通智能锁的。这意味着还是有一定概率可以连上的,我们的业务场景只需要连接成功一次,那就可以了。

接下来对连接流程进行优化

    /**
     * 尝试连接socket
     */
    private Socket connectSocket(InetAddress address, int port) {
        Socket mSocket = null;
        while (!isStop && mSocket == null) {
      
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值