w***@gmail.com
w***@gmail.com
  • 发布:2021-09-27 09:44
  • 更新:2022-06-07 09:24
  • 阅读:669

【报Bug】uni-app在APP端无法关闭WebSoket

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: Windows 10 专业版 20H2

HBuilderX类型: 正式

HBuilderX版本号: 3.2.3

手机系统: Android

手机系统版本号: Android 10

手机厂商: 汉德霍尔

手机机型: k71v1_64_bsp

页面类型: vue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:
uni.connectSocket({    
                    url: 'ws://172.16.32.204:8000',    
                    success: (res) => {    
                        console.log("WebSocket服务连接成功!");    
                    }    
                })    

                uni.onSocketOpen(function() {    

                    uni.onSocketMessage(function(res) {    
                        console.log("收到服务器内容:" + res.data);    

                        uni.closeSocket({    
                            success: function(res) {    
                                console.log("WebSocket关闭成功!");    
                            },    
                            fail: function(res) {    
                                console.log("WebSocket关闭失败!");    
                            }    
                        })    

                    })    

                })

预期结果:
uni.connectSocket({    
                    url: 'ws://172.16.32.204:8000',    
                    success: (res) => {    
                        console.log("WebSocket服务连接成功!");    
                    }    
                })    

                uni.onSocketOpen(function() {    

                    uni.onSocketMessage(function(res) {    
                        console.log("收到服务器内容:" + res.data);    

                        uni.closeSocket({    
                            success: function(res) {    
                                console.log("WebSocket关闭成功!");    
                            },    
                            fail: function(res) {    
                                console.log("WebSocket关闭失败!");    
                            }    
                        })    

                    })    

                })

实际结果:
uni.connectSocket({    
                    url: 'ws://172.16.32.204:8000',    
                    success: (res) => {    
                        console.log("WebSocket服务连接成功!");    
                    }    
                })    

                uni.onSocketOpen(function() {    

                    uni.onSocketMessage(function(res) {    
                        console.log("收到服务器内容:" + res.data);    

                        uni.closeSocket({    
                            success: function(res) {    
                                console.log("WebSocket关闭成功!");    
                            },    
                            fail: function(res) {    
                                console.log("WebSocket关闭失败!");    
                            }    
                        })    

                    })    

                })

bug描述:

Android端APP,第一次执行uni.closeSocket后会显示关闭成功,但是WebSocket并没有被关闭,依然在获取数据。之后的uni.closeSocket全部返回关闭失败!

uni.connectSocket({    
                    url: 'ws://172.16.32.204:8000',    
                    success: (res) => {    
                        console.log("WebSocket服务连接成功!");    
                    }    
                })    

                uni.onSocketOpen(function() {    

                    uni.onSocketMessage(function(res) {    
                        console.log("收到服务器内容:" + res.data);    

                        uni.closeSocket({    
                            success: function(res) {    
                                console.log("WebSocket关闭成功!");    
                            },    
                            fail: function(res) {    
                                console.log("WebSocket关闭失败!");    
                            }    
                        })    

                    })    

                })
2021-09-27 09:44 负责人:无 分享
已邀请:
w***@gmail.com

w***@gmail.com (作者) - Simple_Wang

官方能来个人看一下吗?H5和IOS15都正常,Android8和Android10都失效。不想把页面改写成WebView,给我个替代的方案啊!

t***@sino-essence.com

t***@sino-essence.com

请问解决了吗?

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