需求
现某司直播,网络不稳定,导致直播异常,原先的解决方式是人工发现异常,然后手动切换网络(4G热点),但是对业务影响较大。
解决方案一是升级公司网络(难度较大),方案二是自动切换网络.
现在写一个脚本自动检测网络,当网络异常时,自动切换到可用的wifi。
实现
操作系统:windows 10
连接命令:netsh wlan connect name=”%s”
查看当前wifi:netsh wlan show interfaces
查看所有wifi:netsh wlan show profile
语言: python2.7
检查网络:ping www.baidu.com -n 2 -w 1000
总体逻辑是,循环ping一个常用的IP地址检测网络,发现异常后,netsh连接到到另一个网络。
“人生苦短,我用python”
实现效果较好,3-5秒内能自动切换网络
注意
- 切换网络的时候,要再次检查当前网络是什么(中间可能手动更换的链接)
- 切换网络后,需要sleep 15s,等待系统生效,不然还是连不上网,导致循环切换网络
- ping检查不要太频繁,每次检查后sleep 1s,降低cpu利用率
- 一次ping要两次,避免网络波动
- 调用接口,多余的日志要抛弃掉,防止日志堆积
其他应用
网上打游戏的时候,小区网络经常波动,坑队友,使用本脚本后可自动切换到手机热点,继续超神