从WIFI切换至4G时,关于websocket的疑问

我现在用的cocos creator 1.4.2
有这么一个问题,从WIFI环境切换至4G的时候,客户端收不到onclose,所以没有发起重连,WIFI断开应该是websocket收不到server的关闭信号,就会等待,但这个时间有点长,好像要几分钟,客户端才会弹出网络已断开 ,用户体验很不好。这个问题大家怎么解决的?

心跳包,主动断开

定时(例如1s)调用一下API看一下网络环境是否有改变。之前我是这样做的。

哦 那要自己在原生这边写监测网络变化的接口咯?

求教,我现在也需要监听网络变化,但是不知道如何去监听啊,js能监听吗?底层c++这些有看不懂,只会js。

这个可以在客户端处理呀,IOS有Reachability官方实现,监听即可,安卓应该也有

应该要用一下jni之类的吧。
之前的接口不是我写的,应该是公司其他人写的。

从wifi切换到4G,我这边倒是能够正常触发onclose。

但是,如果是从信号极差的地方回到本该信号强的地方,就无法触发onclose了,收发数据也不行。(比如,从厕所回到办公室)