云烟成雨
云烟成雨
  • 发布:2021-09-06 15:22
  • 更新:2021-09-06 15:34
  • 阅读:1481

【报Bug】websocket在ios端创建成功后onOpen事件不执行问题

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.2.2

手机系统: iOS

手机系统版本号: iOS 13.2

手机厂商: 苹果

手机机型: iphonex、iphone11

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

const ws = uni.connectSocket({
url: url,
success: res => {
console.log('WebSocket创建成功', url, res)
uni.showModal({
title: 'WebSocket创建成功',
content: url,
showCancel: false
})
},
fail: err => {
console.log('WebSocket创建失败', url, err)
uni.showModal({
title: 'WebSocket创建失败',
content: url,
showCancel: false
})
}
})

ws.onOpen(function(res) {
console.log('WebSocket连接已打开')
uni.showModal({
title: '温馨提示',
content: 'WebSocket连接已打开',
showCancel: false
})
})

ws.onClose(function(res) {
console.log('WebSocket连接已关闭')
uni.showModal({
title: '温馨提示',
content: 'WebSocket连接已关闭',
showCancel: false
})
})

ws.onError(function(res) {
console.log('WebSocket连接错误', res)
uni.showModal({
title: '温馨提示',
content: 'WebSocket连接错误',
showCancel: false
})
})

setTimeout(() => {
uni.showModal({
title: '温馨提示',
content: 'readyState:' + ws.readyState,
showCancel: false
})
}, 5000)

操作步骤:

打包成app后iphoneX、iphone11机型大概率复现

预期结果:

readyState的值为3后应该触发onClose或onError事件

实际结果:

readyState的值为3后无任何反应

bug描述:

uni-app打包成app后iphoneX、iphone11机型websocket大概率出现SocketTask.onOpen()回调事件不触发,同时SocketTask.onClose()、SocketTask.onError()也不触发,最后打印SocketTask.readyState的值为3。

2021-09-06 15:22 负责人:无 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

ws.onOpen 换成uni.onOpen试试

  • 云烟成雨 (作者)

    是uni.onSocketOpen吧,但是多个WebSocket要怎么区分

    2021-09-07 12:09

  • DCloud_iOS_WZT

    url发一下

    2021-09-07 15:13

  • DCloud_iOS_WZT

    我这边找的地址测试没问题,你看下是不是后端哪里配置问题

    2021-09-07 15:32

  • 云烟成雨 (作者)

    回复 DCloud_iOS_WZT: wss://precatsapi3.cats-trade.com:5443/quote,你是用iphonex的手机测试吗,其他机型是不会复现这个问题的

    2021-09-09 09:23

  • DCloud_iOS_WZT

    回复 5***@qq.com: 只有iphoneX必现么? 我手里没有iphoneX,用其他iphoneX也会出现同样的问题吗

    2021-09-09 11:46

  • 云烟成雨 (作者)

    回复 DCloud_iOS_WZT: iphone11也会,或者iphoneXR

    2021-09-09 15:59

  • DCloud_iOS_WZT

    回复 5***@qq.com: 我用xr测试是没问题的,更新到最新版本试试?

    2021-09-10 11:06

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