NutzCN Logo
问答 websocket onclose关闭问题
发布于 2495天前 作者 qq_9b10e630 15010 次浏览 复制 上一个帖子 下一个帖子
标签:

在电脑端各大浏览器测试都没有问题,关闭浏览器或者断线都能正常触发onclose或者onerror方法,
但是在ios微信手机端,点击关闭或者返回按钮没有正常触发onclose。

11 回复

还在后台连着吧? 加个 setInterval 看看还能不能收到请求

没有,加了,直接ios关闭按钮点击退出之后直接退出了,没有执行onclose,难道是我用的reconnectingWebsocket的原因?

网络掉线后台也是没有执行onclose,难道要自己后台加个判断是否在线?

没有心跳的话,一分钟之后也会触发关闭

是 后端自动关闭还是前端主动断开?

后端会主动断开

网络中断的时候好像不会主动断开?只有重连的时候才会断开,是不是需要再后台加一个在线监测?

会主动断开的,走的是onError

不会立即断开

好像就是不会断开,我刚才试了一分多走都没走onerror,只有等我连接上网络,重新new一个ws的时候才触发onerror

而且他是先执行open方法之后再执行left也就是onerror


{"roomId":985,"action":"join","openId":"oVcWo0nFZmV5SvvhwQNnzfY-2iMU"} 2018-02-22 13:52:15,527 org.nutz.plugins.mvc.websocket.handler.AbstractWsHandler.join(AbstractWsHandler.java:50) DEBUG - session(id=povsbphkt6i9cqejba8jnibkh0) join room(name=wsroom:985) 有位玩家离开,该openId缓存已移除 2018-02-22 13:52:16,765 org.nutz.plugins.mvc.websocket.handler.AbstractWsHandler.left(AbstractWsHandler.java:59) DEBUG - session(id=uutr11pd16ibopkfpk9ckjv7ql) left room(name=wsroom:985) 2018-02-22 13:52:25,224 org.nutz.plugins.mvc.websocket.handler.AbstractWsHandler.left(AbstractWsHandler.java:59) DEBUG - session(id=povsbphkt6i9cqejba8jnibkh0) left room(name=wsroom:985)

断开网络并重新连接上网络时,客户端new一个新的ws后是先触发客户端的open执行join Room,再执行error也就是left Room,移除之前的session ID

添加回复
请先登陆
回到顶部