如何在vue項目中使用websocket

一般先要在項目中使用websocket對某個數據流進行監聽,最好使用全局方式來定義websocket

具體代碼如下:

<script>
    export defalut {
        data() {
            return {
                path:"ws://192.168.10.4:8085"
            }
        },
        mounted() {
            this.init()
        },
        methods: {
            init() {
                if(typeof(WebsSocket) === 'undefined') {
                    alert('當前瀏覽器不支持socket')
                }else {
                    // 實例化socket
                    window.mysocket = new WebSocket(this.path)
                    // 建立連接
                    window.mysocket.onopen = this.open()
                    // 監聽錯誤信息
                    window.mysocket.onerror = this.error()
                    // 監聽消息
                    window.mysocket.onmessage = this.getMsg()
                }
            },
            open() {
                console.log('socket連接成功')
            },
            error() {
                console.log('連接錯誤')
            },
            sendMsg(data) {
                window.mysocket.send(data)
            },
            getMsg(msg){
                console.log(msg.data)
            },
            close() {
                console.log('socket已關閉')
            }
        }
    }
</script>

如果想要mysocket只作用於當前頁面,就無須使用window來初始化,直接使用this即可;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章