需求的场景描述:
多个页面提供WebSocket接入的时候只能最多连接2个socket,多了报错并尝试重连直至页面卡死退出,这样体验很不友好。
希望提供:
每个socket在connect前最好能判断是否已有socket连接了,并从判断中返回已连接的SocketTask,多个socket返回多个SocketTask,这样便于开发者控制代码上判断是否connect,不至于一直报错并尝试重连导致页面卡死。
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 操作系统 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|---|
小程序 | 需求 | WebSocket | 客户端 | 6.6.7 | 2.1.3 |
1 个回答
尝试重连为什么会导致页面卡死呢,另外重连不是应该设置最大重试次数吗
重连太多次导致页面一直报socket只能连接两个,一直循环,导致页面卡死,整个小程序的页面都卡死了。我建议websocket可以设置全局和本页面的使用域,这样也更好的使用,全局就是连接一次所有页面都可以使用。
有没有办法进入页面后判断socket链接状态,我想用try catch判断,但try中捕获到异常后没有进入catch中为什么?
try
{
wx.sendSocketMessage({ data: JSON.stringify(_this.socketData) })
return
}
catch
(e) {
console.log(
'socket发送消息失败'
, e)
}
如果socket没有建立链接, 那么 wx.sendSocketMessage 会报错,但没有进入到catch中