问题描述:
使用官方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"}错误。
我们没有主动设置 Upgrade
为啥有部分用户连不上socket
也报这个错误:exception onOpen fail code:20, msg:Invalid HTTP status.
有解决了吗?我遇到这个问题。
url传参不能带中文字符,需要encode一下
没有设置 header头信息还是保
"exception onOpen fail code:20, msg:Invalid HTTP status."
解决了吗?什么问题
微信7.0.4、7.0.5会自动给请求头添加upgrade: 'websocket',如果你设置了upgrade: 'websocket',那么你这时的请求头就会是upgrade: 'websocket, websocket',就会报错。
我的是这样的
“ #wss协议转发 小程序里面要访问的链接
location /wss {
proxy_pass http://websocket;#代理到上面的地址去
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}”