// WebSocketService.js
|
|
let socket = null;
|
|
export const initializeWebSocket = (socketUrl, messageHandler) => {
|
if (typeof WebSocket === "undefined") {
|
console.log("Your browser does not support WebSocket");
|
return null;
|
}
|
|
const socket = new WebSocket(socketUrl);
|
|
socket.onopen = function () {
|
console.log("WebSocket is now open");
|
};
|
|
socket.onmessage = (msg) => {
|
if (!msg.data) {
|
return;
|
}
|
|
const obj = JSON.parse(msg.data);
|
|
// 调用消息处理函数,将数据传递给 Vue 组件
|
if (messageHandler) {
|
messageHandler(obj);
|
}
|
};
|
|
return socket;
|
};
|
|
|
export const closeWebSocket = (socket) => {
|
if (socket && socket.readyState === WebSocket.OPEN) {
|
socket.close();
|
console.log("WebSocket connection closed");
|
}
|
};
|