WebSocket 入门

WebSocket 提供了浏览器服务端双工通信的可能,改善了轮询带来的服务器压力和性能损耗,减少了http头信息重复低效的问题

WebSocket 对象

WebSocket 是一个构造函数是浏览器提供的原生 api

通过 new 关键字新建 socket 实例,接受一个 socket 服务器地址。

 var socket = new WebSocket('ws://192.168.0.221:9999/websocket')    
复制代码

onopen 实例方法

onopen 方法会在和服务器三次握手成功后触发 代表成功建立链接

    socket.onopen = function(res){
        console.log('链接成功',res️)
    }
复制代码

send 实例方法

send 方法用于向服务器发送消息,需要在链接成功建立的条件下使用:

    var socket = new WebSocket('ws://192.168.0.221:9999/websocket')
    socket.onopen = function(res){
        socket.send(JSON.stringify({
        "event":"REGISTER_ONLINE", // 向服务器发送注册事件的消息
        "data":{}
        }))
    }
复制代码

onmessage 实例方法

onmessage 方法用于接受服务器推送过来的消息

    socket.onmessage = function(res){
        console.log('接收到服务端消息:',res)
    }
复制代码

onerror 实例方法

当服务发生异常时客户端会收到 error 事件通常可以在 onerror 事件内尝试重启 websocket

    socket.onerror = function(res){
        console.log('onerror')
        // Restart your websocket
    }
复制代码

onclose 实例方法

当链接关闭后会触发 onclose 回调 通常用于关闭其他相关服务

    socket.onclose = function(){
        console.log('onclose')
        // websoket 终止了关闭其他相关的函数和服务
    }
复制代码

(完)

还有一个对 websokit 的封装库 socket.io 不过目前我还没用过

转载于:https://juejin.im/post/5c9b8789f265da612e6d712a

你可能感兴趣的:(WebSocket 入门)