1***@qq.com
1***@qq.com
  • 发布:2025-01-03 09:51
  • 更新:2025-01-03 11:53
  • 阅读:76

【报Bug】uni.connectSocket 链接成功,不调用onOpen和onSocketOpen

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 4.36

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: MI MAX

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

var socketTask = uni.connectSocket({
url:'ws://192.168.0.109:9100',
// url:'http://192.168.0.109:9100',
// url:'192.168.0.109:9100',
success(e){
console.log('成功',e)
},
fail(e){
console.log('失败',e)
},
complete(e){
console.log('结束',e)
},
});
socketTask.onMessage(e=>{
console.log('服务器回调数据',e)
})
socketTask.onOpen(e=>{
console.log('服务器打开回调',e)
})
socketTask.onClose(e=>{
console.log('服务器关闭回调',e)
})
socketTask.onError(e=>{
console.log('服务器错误回调',e)
})
uni.onSocketOpen(function (res) {
console.log('打开回调',res)
});
uni.onSocketClose(function(e){
console.log('关闭回调',e);
})

操作步骤:

var socketTask = uni.connectSocket({
url:'ws://192.168.0.109:9100',
// url:'http://192.168.0.109:9100',
// url:'192.168.0.109:9100',
success(e){
console.log('成功',e)
},
fail(e){
console.log('失败',e)
},
complete(e){
console.log('结束',e)
},
});
socketTask.onMessage(e=>{
console.log('服务器回调数据',e)
})
socketTask.onOpen(e=>{
console.log('服务器打开回调',e)
})
socketTask.onClose(e=>{
console.log('服务器关闭回调',e)
})
socketTask.onError(e=>{
console.log('服务器错误回调',e)
})
uni.onSocketOpen(function (res) {
console.log('打开回调',res)
});
uni.onSocketClose(function(e){
console.log('关闭回调',e);
})

预期结果:

onSocketOpen 或 onOpen 有回调

实际结果:

onSocketOpen 或 onOpen 无回调

bug描述:

uni.connectSocket 的url 填写三种格式: ip:port 、 http://ip:port 、 ws://ip:port,在success中都提示成功,
但是 onOpen 和 uni.onSocketOpen 都不回调

2025-01-03 09:51 负责人:无 分享
已邀请:
靐齉齾麤龖龗

靐齉齾麤龖龗 - 解决不了问题,那就解决提出问题的人

success代表这个接口调用成功,不代表连接成功了!你在浏览器控制台看看连接的状态是啥,看看onError里面是否抛出了异常信息

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

    都没有信息,onOpen、onError、onSocketOpen 这三个都没有回调信息

    2025-01-03 10:03

  • 靐齉齾麤龖龗

    回复 1***@qq.com: 那就只能在控制台看看了,看看连接信息和状态是啥

    2025-01-03 10:07

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

    回复 靐齉齾麤龖龗: 大佬,我是小白一枚,咋从控制台看链接信息和状态?

    2025-01-03 10:07

  • 靐齉齾麤龖龗

    回复 1***@qq.com: 还有个onClose你看看有没有回调呢

    2025-01-03 10:11

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

    回复 靐齉齾麤龖龗: 美誉 OnSocketError 也没有回调

    2025-01-03 10:52

2***@qq.com

2***@qq.com

版本是最新的4.44吧???

DCloud_UNI_FengXY

DCloud_UNI_FengXY

排查自己socket服务,我这里测试换成其他正常的socket服务是可以正常监听到回调信息的

要回复问题请先登录注册