New file |
| | |
| | | import getWsUrl from "@/assets/js/getWsUrl"; |
| | | var websock = null; |
| | | var global_callback = null; |
| | | |
| | | function initWebSocket(action,port){ //初始化weosocket |
| | | //ws地址 |
| | | const wsUri = getWsUrl(action, port); |
| | | websock = new WebSocket(wsUri); |
| | | websock.onmessage = function(e){ |
| | | websocketonmessage(e); |
| | | } |
| | | websock.onclose = function(e){ |
| | | websocketclose(e); |
| | | } |
| | | websock.onopen = function () { |
| | | websocketOpen(); |
| | | } |
| | | |
| | | //连接发生错误的回调方法 |
| | | websock.onerror = function () { |
| | | console.log("WebSocket连接发生错误"); |
| | | } |
| | | } |
| | | |
| | | // 实际调用的方法 |
| | | function sendSock(agentData,callback){ |
| | | global_callback = callback; |
| | | if (websock.readyState === websock.OPEN) { |
| | | //若是ws开启状态 |
| | | websocketsend(agentData) |
| | | }else if (websock.readyState === websock.CONNECTING) { |
| | | // 若是 正在开启状态,则等待1s后重新调用 |
| | | setTimeout(function () { |
| | | sendSock(agentData,callback); |
| | | }, 1000); |
| | | }else { |
| | | // 若未开启 ,则等待1s后重新调用 |
| | | setTimeout(function () { |
| | | sendSock(agentData,callback); |
| | | }, 1000); |
| | | } |
| | | } |
| | | |
| | | //数据接收 |
| | | function websocketonmessage(e){ |
| | | global_callback(JSON.parse(e.data)); |
| | | } |
| | | |
| | | //数据发送 |
| | | function websocketsend(agentData){ |
| | | websock.send(JSON.stringify(agentData)); |
| | | } |
| | | |
| | | //关闭 |
| | | function websocketclose(e){ |
| | | console.log("WebSocket已关闭"); |
| | | } |
| | | //WebSocket连接成功 |
| | | function websocketOpen(e){ |
| | | console.log("WebSocket连接成功"); |
| | | } |
| | | |
| | | function close(){ |
| | | websock.close() |
| | | } |
| | | |
| | | export{sendSock,initWebSocket,close} |