websocket

export let websocket
initWebSocket()

export function openWebsocket () {
    initWebSocket()
}
let callBackArray = new Map()
export function websocketSendMsg( params, callBack) {
    // console.log(callBackArray.has(params.timeStamp));
    callBackArray.set(params.timeStamp, callBack)
    websocket.send(JSON.stringify(params))
}

function initWebSocket() {
    let URL = "ws://10.0.5.202:5286"
    websocket = new WebSocket(URL)
    websocket.onopen = websocketOnopen
    websocket.onmessage = websocketOnmessage
    websocket.onerror = websocketOnerror
    websocket.onclose = websocketClose
    return true
}

function websocketOnopen() {
    console.log('WebSocket连接成功')
}

function websocketOnmessage(e) {
    let data = JSON.parse(e.data)
    let timeStamp = data.TIMESTAMP
    callBackArray.has(timeStamp) && callBackArray.get(timeStamp)(data.VALUE)
    console.log(callBackArray);
}

function websocketOnerror(e) {
    console.log(`连接失败的信息:`, e)
    openWebsocket()
}

export function websocketClose(e) {
    console.log("连接关闭", e)
}

export function removeCallBack(timeStamp) {
    callBackArray.delete(timeStamp)
}
原文地址:https://www.cnblogs.com/fengtianxi001/p/14031220.html