1***@qq.com
1***@qq.com
  • 发布:2023-02-09 17:29
  • 更新:2023-02-09 17:29
  • 阅读:284

【报Bug】HBuilder 3.6.17 版本打包的安卓APP中 Websocket 异常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

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

HBuilderX类型: 正式

HBuilderX版本号: 3.6.17

手机系统: Android

手机系统版本号: Android 12

手机厂商: 小米

手机机型: 小米12

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
const task = uni.connectSocket({    
                    url: '',    
                    complete() {},    
                })    
                task.onOpen(() => {console.log(333)})    
                task.onMessage(res => {    
                    console.log('收到message', res)    
                });

然后走正常的发送和接受消息(Arraybuffer)

预期结果:
  1. 收到的消息是 Arraybuffer 类型数据
  2. 消息能发送出去

实际结果:
  1. 收到的消息是
    {"data":"{\"@type\":\"binary\",\"base64\":\"IQAAAAd1c2VyMDAxABZlVXBpeVBVOEFGTmExeWpUUy1XX1Z6AAABhbpcRgI=\"}"}
  2. 消息没有被发送出去

bug描述:

在 HBuilder 3.6.17 版本打包的安卓APP中,使用uniapp 的 websocket 连接后,收发消息异常 (iOS和Web平台没问题)。

  • 发送消息
    返回发送成功,但抓 TCP 包发现并没有发送出去,经排查是uni的bug,如图 data应该是对象类型,而不是字符串

  • 收消息
    收到的Arraybuffer类型数据被转换成 {"data":"{\"@type\":\"binary\",\"base64\":\"IQAAAAd1c2VyMDAxABZlVXBpeVBVOEFGTmExeWpUUy1XX1Z6AAABhbpcRgI=\"}"}
2023-02-09 17:29 负责人:无 分享
已邀请:

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