建立websocket后无法断开连接?
发布于 6 年前 作者 chaomo 14983 次浏览 来自 官方Issues

一个即时对话页面,onLoad时通过wx.connectSocket创建对象:

ws= wx.connectSocket({url: wsUrl,});

运行正常,后续的ws.onMessage也正常,但是,我在页面onUnload时,无法断开这个socket的连接(如下图所示)

上图的断点可以清楚看到我的逻辑:在onUnload事件中,如果wsObj非null且readyState==1,则执行wsObj.close,从断点处可以看到,程序是有被执行的,并且已经执行到了wsObj.close的success回调函数,我在里面再给这个wsObj置null

程序是没有报错,可是,在调试器的Network中,我仍然看到这个websocket仍然是101状态,也就是说它与服务器并没有断开!(如下图所示)

注意左边,我进入两次这个对话页面,又两次退出这个页面,每次进入就创建了一个websocket连接,而且是都没有断开的!

回到顶部