cuteshell
cuteshell
  • 发布:2018-10-04 12:03
  • 更新:2019-10-14 17:01
  • 阅读:2084

【报Bug】uni.connectSocket的protocols在安卓上没有生效,在微信模拟器上没问题

分类:uni-app

详细问题描述
[内容]
uni.connectSocket的protocols参数在安卓上没有起作用,如果设置了这个参数,通过如下代码设置的这个参数:

uni.connectSocket({  
    url:'ws://127.0.0.1:8083/mqtt',  
    protocols:["mqtt"],  
})

在发起websocket连接的时候应该有一个Sec-WebSocket-Protocol:mqtt的Header,但是通过用tcpdump抓包看不到这儿头,在安卓模拟器就有这个协议头。

重现步骤
[步骤]
在安装上使用websocket并指定子协议
[结果]
建立连接失败,HTTP错误码是400,websocket的错误信息是Bad WebSocket Protocol
[期望]
指定子协议的websocket可以使用,可以正常建立连接

运行环境
[系统版本]
Android8.0
[浏览器版本]
Chrome 62
[IDE版本]
[手机操作系统]
[手机型号]
[mui版本]

附件
[代码片段]
[安装包]

联系方式
[QQ]
[电话]

2018-10-04 12:03 负责人:无 分享
已邀请:
4***@qq.com

4***@qq.com - 90It男

有点坑,uni-app用socket很多设置不能自己设

DCloud_UNI_GSQ

DCloud_UNI_GSQ

HBuilderX 2.3.0 版本已修复此问题
其他版本解决方案:
使用非自定义组件编译模式,或者使用此插件:plus-websocket

该问题目前已经被锁定, 无法添加新回复