z***@qq.com
z***@qq.com
  • 发布:2019-12-20 10:21
  • 更新:2020-01-13 15:23
  • 阅读:1252

【报Bug】websocket在安卓状态下不能关闭

分类:uni-app

详细问题描述

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

[步骤]【安卓出现问题,网页和苹果均可以关闭websocket】在页面加载的时候链接websocket,按手机主键隐藏页面(onHide)或返回(onUpload)时想关闭websocket

[结果]关闭不了websockt,重新打开页面会出现重联

[期望]关闭websoket

var socketTask;
var socketOpen = false;
export default{
data(){
return{

        }  
    },  
    onHide() {  
        console.log('onHide')  
        console.log(socketOpen)  
        console.log(socketTask.readyState)  
        //   
        // uni.onSocketClose(function (res) {//均不能关闭  
        //   console.log('WebSocket 已关闭!');  
        // });  
        socketTask.close()//这种关闭在网页中和苹果中关闭成功  
        socketTask.onClose(function(res){//均不能关闭  
            console.log(res)  
        })  
        uni.onSocketOpen(function () {//均不能关闭  
          uni.closeSocket();  

        });  

        console.log(socketTask.readyState)  
    },  
    onShow(){  
        console.log('onshow')  
        this.connect()  
    },  
           onUnload(){  
        socketTask.close()  
    },  
    methods:{  

        connect(){  
                socketTask =uni.connectSocket({  
                    url:'', //仅为示例,并非真实接口地址。  

                    complete: ()=> {}  
                });  

                // // //打开websocket  
                uni.onSocketOpen(function (res) {  
                    socketOpen=true;  
                    console.log('WebSocket连接已打开!');  
                });  
                uni.onSocketMessage(function (res) {  
                  console.log(res);  
                });  
                uni.onSocketError(function (res) {  
                  console.log('WebSocket连接打开失败,请检查!');  
                });  
                uni.onSocketClose(function (res) {  
                    //socketOpen=false;  
                    console.log('WebSocket 已关闭!');  
                });  
        }  
    }  
}                                 
2019-12-20 10:21 负责人:无 分享
已邀请:
2***@qq.com

2***@qq.com - 蜗牛

请问解决了吗,我也同样遇见这个问题了,没走onClose方法,走的onError方法返回了一个

Code must be in range [1000,5000): 10000"

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