5***@qq.com
5***@qq.com
  • 发布:2022-08-04 11:42
  • 更新:2022-08-05 16:16
  • 阅读:780

【报Bug】IOS15 下 WebSocket无法触发onSocketOpen事件,并且没有抛出异常

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.4.18

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphone 11

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

在IOS 15 下调用uni.connectSocket({url})、uni.onSocketOpen() 后无法正常发送socket链接,并且没有抛出异常

预期结果:

正常发出socket链接

实际结果:

无法正常发送socket链接,并且没有抛出异常

bug描述:

调用讯飞的websocket链接在安卓真机下链接成功,在ios下既不报成功也不抛异常

2022-08-04 11:42 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com (作者)

问题是url中有空格等特殊符号使用encodeURIComponent(url)编码后就可以正常连接了

DCloud_iOS_XHY

DCloud_iOS_XHY

上传一个可以直接运行的完整示例工程便于排查

  • 5***@qq.com (作者)

    附件里面的recorder.js 直接放在uni app项目中直接调connectWebSocket方法就好了啊

    2022-08-04 17:16

  • 5***@qq.com (作者)

    找到问题了,是因为data的值为 UTC 格式的日期字符,其中包含了空格,导致socket不会触发open事件。这种情况下如何解决?

    2022-08-05 14:22

DCloud_iOS_WZT

DCloud_iOS_WZT

看下你的url是不是有中文

  • 5***@qq.com (作者)

    wss://iat-api.xfyun.cn/v2/iat?authorization=YXBpX2tleT0iYjM4YTQyMDE3MTZkMmZiYjIwZTgxMGEyY2FkMzE3NTkiLCBhbGdvcml0aG09ImhtYWMtc2hhMjU2IiwgaGVhZGVycz0iaG9zdCBkYXRlIHJlcXVlc3QtbGluZSIsIHNpZ25hdHVyZT0iVzJpL2VRTmkzRkQ2VWhVWHRDWkpZOXBCYnJEUXpJdkE0cElSOUpLdEllbz0i&date=Fri, 05 Aug 2022 03:45:15 GMT&host=iat-api.xfyun.cn

    2022-08-05 11:45

  • 5***@qq.com (作者)

    找到问题了,是因为data的值为 UTC 格式的日期字符,其中包含了空格,导致socket不会触发open事件。这种情况下如何解决?

    2022-08-05 14:22

  • DCloud_iOS_WZT

    回复 5***@qq.com: url 编码下试试

    2022-08-05 15:06

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