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() {
|
console.log("WebSocket已关闭");
|
}
|
//WebSocket连接成功
|
function websocketOpen() {
|
console.log("WebSocket连接成功");
|
}
|
|
function close() {
|
websock.close()
|
}
|
|
export { sendSock, initWebSocket, close }
|