Socket无限SocketTimeoutException真凶–WLAN助手

Socket无限SocketTimeoutException真凶–WLAN助手看到标题你可能不知道我说的是什么鬼东西,但是如果你有类似的经历的话,那么恭喜你,也恭喜我自己,终于解决这个问题了。用过小米、华为等手机的都知道,当我们连接上一个不能上网的WIFI时,系统都会友好的给出“此WLAN无法访问互联网,请更换网络/切换为移动数据网络”等类似的提示,今天我就说下本人在这里面遇到的坑。背景:有个Android项目需要连接硬件设备的WIFI,然后通过socket进行通信…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

看到标题你可能不知道我说的是什么鬼东西,但是如果你有类似的经历的话,那么恭喜你,也恭喜我自己,终于解决这个问题了。

用过小米、华为等手机的都知道,当我们连接上一个不能上网的WIFI时,系统都会友好的给出 “此WLAN无法访问互联网,请更换网络/切换为移动数据网络” 等类似的提示,今天我就说下本人在这里面遇到的坑。

背景

有个Android项目需要连接硬件设备的WIFI,然后通过socket进行通信,我这边已经开发完成,也测试过功能都是没问题的,然后给客户那边测试,客户那边有台手机打死连接不上设备。
首先确认代码是没问题的,在其他多台手机上跑也是正常的。
另外就是在连接设备(不是指连接硬件设备发射 的WiFi,而是指通过TCP进行长连接通信)前需要先进行UDP广播,通过广播找到设备相关,获取设备信息,这一步也没问题。
然后在拿到设备的IP和端口后,进行TCP长连接,问题就卡在这里了,一直是SocketTimeoutException 连接超时,试过无数办法也没用,无奈只要让客户把手机寄过来,现场调试。

问题手机信息:小米4,Android 6.0,MIUI9.6。

调试流程

硬件设备在发射WIFI信号时,去连接这个WIFI(这个WIFI是没网的),然后手机连接WIFI成功了,这里注意是连接成功了,然后过几秒提示“此WLAN网络无法访问互联网”,这个提示是在手机通知栏提示的(有些手机是直接弹窗提示的),当时没在意,然后连接TCP,连不上,因为之前测过多次,基本认定出现这问题跟手机有关,所以我把注意放到这个提示上了,我点击了提示,选择了“使用此WLAN”按钮,然后再起尝试连接TCP,神奇的事情发生了,这次连接成功了,然后又尝试了多次,总结出规律:

只要在WLAN设置界面开启了“WLAN助理 (在WLAN连接不佳加时智能选择WLAN或移动数据网络)”**,就会在通知栏弹提示,这时候所有的TCP连接都将失败(ping也ping不通,具体原因不明,有知道的大佬望解答),但是UDP连接却没问题,将WLAN助理 关闭后,在连接该WIFI,就不会有这样的提示了,这时候TCP连接就完全正常。

这个bug困扰了一周,总算是找到问题解决了。我不知道是不是只有这一个还是这一批手机都是这样的,因为我拿别的小米手机(MIX2S、红米4等)和华为手机(荣耀9,Mate7)虽然有这样的无法连接网络的提示,但是都没有无法连接TCP这样的问题。
遇到这样的BUG也是心累,也希望小米的工程师能优化下这个问题。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179424.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 11111111

    1111111111111111

    2022年4月20日
    43
  • directx修复工具强力修复(Linux可用的工具)

    DirectX修复工具最新版:DirectXRepairV3.7增强版  NEW!版本号:V3.7.0.26539大小:107MB/7z格式压缩,189MB/zip格式压缩,322MB/解压后其他版本:标准版   在线修复版MD5校验码:DirectXRepair.exe/0615325098da4e624ef854af60b56ba2       DirectX_…

    2022年4月10日
    366
  • Java解析XML并自动写入Excel

    Java解析XML并自动写入Excel实习期间导师给我分配了个小任务把xml文件中的字段内容腾到excel中,中间涉及一些对于数据的分析抽取等,但都有规可循,有道是懒是编程发展的原动力,所以我自己做了一个小demo实现了以上功能的自动化目录实现效果Java解析XML文件源数据到填入Excel数据的转换自动写入Excel实现效果xml文件大致是这样的手动录入大致是这样的程序实现控制台输出写入文件我把整个功能剖成三部分Java解析XML文件源数据到填入Excel数据的转换自动写入ExcelJava解析XM.

    2022年8月22日
    9
  • python spark教程菜鸟教程_菜鸟教程hadoop-hadoop入门教程「建议收藏」

    python spark教程菜鸟教程_菜鸟教程hadoop-hadoop入门教程「建议收藏」菜鸟教程hadoop-hadoop入门教程菜鸟教程hadoop-本站旨在为从事大数据行业或学习hadoop技术人员提供一个交流学习平台,全面收集了在大数据时代的互联网巨头企业的hadoop入门教程精华技术文章Lastly,wevariedthenumberofnodesbetween10and200withstepsize10.Meanwhile,thenumb…

    2022年5月26日
    55
  • PHP 判断点是否在多边形内

    PHP 判断点是否在多边形内

    2021年11月9日
    37
  • mac录屏软件推荐_mac 录屏软件

    mac录屏软件推荐_mac 录屏软件工作和生活中,我们常常需要录制电脑屏幕,例如老师和学生上网课、游戏大神分享操作技巧。那么,在Mac上有哪一些好用的录屏软件呢?作为一个工具软件重度爱好者,我整理了以下五大最好用的录屏软件,大家可以自行参考种草:一、FilmageScreenRecorderforMacFilmageScreen是一款简单易操作,功能十分强大的一站式视频软件,集屏幕录制、摄像头录制、音频录制、视频剪辑、视频格式转换为一体,可以说是真正满足你对于视频操作的所有需求。目前是只有Mac端,所以用Mac的童鞋们千万不.

    2022年9月25日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号