【土旦】Vue+WebSocket 实现长连接


1.websocket 连接代码


 

 

created() {
    this.initWebsocket()
},
methods: {
    // 初始化websocket
    initWebsocket() {
        let _this = this
        let ws = new WebSocket(this.wsUrl)
        //保持连接
        ws.onopen = () = > {
            // Web Socket 已连接上,使用 send() 方法发送数据
            //console.log('数据发送中...')
            setInterval(() = > {
                let msg = {
                    msg: '心跳内容'
                }
                ws.send(JSON.stringify(msg))
            }, 5000)
            //console.log('数据发送完成')
        }
        //数据接收
        ws.onmessage = evt = > {
            _this.websocketonmessage(evt)
             //console.log('数据已接收...')
        }
        // 关闭 websocket 时的 钩子
        ws.onclose = () = > {
            //console.log('连接已关闭...')
            _this.websocket()
        }
        // 路由跳转时结束websocket链接
        this.$router.afterEach(() = > {
            ws.close()
        })
    },//数据接收
    websocketonmessage(e) {
        // 数据处理
        let obj = JSON.parse(e.data)
    }
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM