微信安卓7.0.4以及7.0.5版本,websocket建立连接成功后报错

发布于 7 年前作者 hfeng11112 次浏览最后编辑 7 年前来自 ask

问题描述:

使用官方websocketAPI后,在ios手机上运行没有问题,但是在微信7.0.4和7.0.5版本部分安卓真机上建立websocket连接后可以进入success回调,但是会自动断开连接,报socket error: {errMsg: "exception onOpen fail code:20, msg:Invalid HTTP status."}错误或等待一段时间报socket error: {errMsg: "connect response time out"}错误。

部分机型:

红米5 plus(android8.1.0)

华为荣耀note10(android9)

华为mate 10(android8.1.0)

vivo Z5x(andorid9)


现象描述:

红米5 plus、华为荣耀note10调用wx.connectSocket建立连接,可进入success回调,然后监听到onSocketError,报socket error: {errMsg: "exception onOpen fail code:20, msg:Invalid HTTP status."}错误。

vivo Z5x、华为mate 10调用wx.connectSocket建立连接,可进入success回调,过大约60秒后报socket error: {errMsg: "connect response time out"}错误。

5 回复
qiangxiong
qiangxiong1 楼6 年前

url传参不能带中文字符,需要encode一下

taojun
taojun2 楼6 年前

我们没有主动设置 Upgrade

为啥有部分用户连不上socket

也报这个错误:exception onOpen fail code:20, msg:Invalid HTTP status.

wei94
wei943 楼6 年前

没有设置 header头信息还是保

“exception onOpen fail code:20, msg:Invalid HTTP status.”

wzeng
wzeng4 楼6 年前

解决了吗?什么问题

fuming
fuming5 楼5 年前

微信7.0.4、7.0.5会自动给请求头添加upgrade: ‘websocket’,如果你设置了upgrade: ‘websocket’,那么你这时的请求头就会是upgrade: ‘websocket, websocket’,就会报错。