- 当前 Bug 的表现(可附上截图)
部分手机报此错误
如:vivo X20A
每次一使用wx.connectSocket,onopen里面执行wx.connectSocket,连得好好的,发了一次消息,收到消息后,他自己突然关闭websocket链接。而且是必现的,感觉跟网络什么的也没有什么关系
- 预期表现
- 复现路径
- 提供一个最简复现 Demo
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小程序 | Bug | wx.connectSocket | 客户端 | 7.0.4 | 2.7.0 |
3 个回答
怎么解决的,我现在也碰到这个问题了,开发者工具和真机模拟都报错,连接后第一次send ,收到message就直接异常关闭了
代码片段有误,麻烦重新确认下
https://developers.weixin.qq.com/s/A4jK0Gm57h8S
这个片段看看,我本地没有提示报错呢,实在不行,我这里有个简版的demo
var host = '';//能链接的websocket地址
//链接websocket
wx.connectSocket({
url: host,
header: {
'content-type': 'application/json'
},
protocols: ['protocol1'],
method: "GET",
fail:function(){
console.log("创建websocket链接失败!");
}
})
wx.onSocketOpen(function (res) {
console.log('WebSocket连接已打开!');
var json = {
"mtype": 1,
"number": 2, //人数
"paragraphId": that.data.paragraph_id, //段位id
"accountId": that.data.userInfo.account_id,//玩家id
"seasonId": that.data.season_id, //赛季id
"isReconnect": 1 //标识匹配成功后对手退出对战,将用户重新列入匹配队列!默认1, 重新匹配改成1
}
//webscoket必须处于连接状态,往服务器推送一条消息
console.log("发送消息:" + JSON.stringify(json));
wx.sendSocketMessage({
data: JSON.stringify(json)
})
// 20s监听,没有匹配成功,提示匹配失败
var setTime = setTimeout(function () {
console.log("匹配失败!");
wx.closeSocket();
}, 20000);
})
wx.onSocketMessage(function (res) {
var json = JSON.parse(res.data);
if (json.mtype == -1) {
console.log("mtype=-1 不处理");
return false;
}
// 匹配成功
else if (json.mtype == 2) {
console.log("匹配成功");
}
})
新的代码片段都没有内容,麻烦自己先测试下代码片段正常可用
https://developers.weixin.qq.com/s/YQFoTHm57s8q
好了,第一次弄这个代码片段理解错了,你试试这个
具体复现过程是vivo X20A的手机,链接websocket,然后客户端发一次消息,客户端再收一次消息,链接就断开了
有进展么,问题能复现吗?
目前发现vivo X20A这个机型有这个问题