问题描述:
使用官方websocketAPI后,在ios手机上运行没有问题,但是在部分安卓手机上websocket无法连接。
部分机型:
在OPPO和vivo机型上尤为严重,包括: vivo y55 安卓6.0.1,以及华为荣耀6X 安卓8.0.0.
还包括魅族、华为手机使用的是安卓5.0.1 安卓5.1.0
现象描述:
wx.connectSocket({
url: url,
method: ‘GET’,
success: function () {
console.log(“连接成功…”)
},
fail: function () {
console.log(“连接失败…”)
}
})
在后台检测查看后发现,连接后走了“连接成功”,但是过了大约60秒后,提示:连接超时。没有走到
wx.onSocketOpen
()中。
麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)
就这个 case 而言,是因为证书链不完整导致。具体可看 https://myssl.com/szghlc.com?status=q&port=5001 ,对比之下,这个域名默认端口的证书链是完整的 https://myssl.com/szghlc.com?status=q 。至于只有在 Android 有这个问题,原因未明。
另外一方面有个 bug 是没有回调证书错误,而是等到 60s 后回调超时,会跟最近版本修复。