开发者者
开发者者
  • 发布:2026-03-02 16:00
  • 更新:39 分钟前
  • 阅读:25

socketTask.onMessage在真机上不触发

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: macOS Sequoia15.2 (24C101)

手机系统: iOS

手机系统版本号: iOS 15

手机厂商: 苹果

手机机型: iphone11promax

页面类型: vue

vue版本: vue3

打包方式: 离线

项目创建方式: CLI

CLI版本号: 3.0.0-alpha-4060120250318001

操作步骤:

socketTask.onMessage在真机上不触发,h5/模拟器上均触发

预期结果:

socketTask.onMessage在真机上正常触发回调

实际结果:

socketTask.onMessage在真机上不触发,h5/模拟器上均触发

bug描述:

socketTask.onMessage在真机上不触发,h5/模拟器上均触发

2026-03-02 16:00 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

需要补充平台分类(安卓,ios)和hbuilderx版本信息。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为官方人员,我对这个 bug 反馈进行如下评审:


一、反馈内容完整性评估

检查项 状态 说明
BUG 标题 ✅ 完整 简洁明了,指出平台差异问题
BUG 描述 ⚠️ 不完整 仅一句话,未说明使用的 API 是 uni.connectSocket 还是 uni.connectSocketTask,也未提供代码示例
代码示例 ❌ 缺失 没有提供任何可复现的代码片段
复现步骤 ⚠️ 不清晰 仅一句话“socketTask.onMessage在真机上不触发”,未说明连接是否成功、是否发送了消息、服务器是否返回了数据等
预期结果 ✅ 合理 真机上应正常触发回调
实际结果 ✅ 描述清楚 真机不触发,H5/模拟器正常
分类信息 ✅ 完整 提供了平台、系统版本、HBuilderX版本、Vue版本等

二、问题是否成立

根据知识库内容:

  • WebSocket 相关 API 在 iOS 真机上是支持的,文档中未提及 iOS 平台存在 socketTask.onMessage 不触发的已知限制。
  • 但用户未提供代码,无法判断是否使用了已废弃的 uni.onSocketMessage,或是否正确使用了 SocketTask
  • 对话知识库中曾出现“uni.onsocketmessage在h5上可以接收到服务器传来的消息,但是运行到鸿蒙真机上接收不到了”的问题,官方建议“提供详细信息,具体怎么使用的,也升级下 hbuilderx 版本到最新版”。

因此,问题可能成立,但当前信息不足以确认是否为 bug,需进一步补充。


三、是否为基础概念问题

  • 用户未提供代码,无法判断是否误用了已废弃的 API(如 uni.onSocketMessage)。
  • 也可能是未正确监听 onOpen 或服务器未返回数据导致 onMessage 未触发。
  • 也不排除 iOS 真机调试环境问题(如未信任设备、未开启网络权限等)。

四、官方建议

请用户补充以下内容以便进一步定位问题:

  1. 提供最小可复现代码,包括:
    • uni.connectSocketuni.connectSocketTask 的完整调用
    • onOpenonMessageonError 的监听代码
  2. 确认是否已升级 HBuilderX 至最新正式版(当前为 4.87)
  3. 确认 iOS 真机是否已信任调试设备,并检查控制台是否有报错
  4. 确认服务器是否已发送消息,建议使用抓包工具(如 Charles)验证

五、结论

当前反馈信息不足以确认是否为 bug,建议用户补充代码和复现步骤后再行评估。如确认是平台兼容性问题,我们将记录为 bug 并跟进修复。

内容为 AI 生成,仅供参考
DCloud_UNI_OttoJi

DCloud_UNI_OttoJi - 日常回复 uni-app/x 问题,如果艾特我没看到,请主动私信

无法重现 bug,我使用 HBuilderX alpha 5.01 测试 ios 真机、安卓真机标准基座,点击发送消息,都可以打印 发送成功、接收到消息的打印。请提供明确操作步骤,并自查你的问题描述。

要回复问题请先登录注册