1、创建WebSocket.js文件
2、设置链接
const url = "localhost:8080"
3、方法
class WebSocketClass {
constructor() {
this.instance = null;
this.connect();
}
static getInstance() {
if (!this.instance) {
this.instance = new WebSocketClass();
}
return this.instance;
}
connect() {
this.ws = new WebSocket(url);
this.ws.onopen = e => {
this.heartCheck();
this.getMessage();
};
}
heartCheck() {
const _this = this;
this.state = setInterval(() => {
if (_this.ws.readyState === 1) {
_this.ws.send("/Heart");
} else {
this.closeHandle();
console.log("状态未连接");
}
}, 60000);
}
closeHandle() {
if (this.state) {
console.log(`断开,重连websocket`);
clearInterval(this.state);
this.connect();
} else {
console.log(`websocket手动关闭,或者正在连接`);
}
}
getMessage() {
this.ws.onmessage = e => {
if (e.data) {
const newsData = JSON.parse(e.data);
console.log(`newsData`);
}
};
}
close() {
this.ws.close();
console.log("关闭连接");
}
}
export default WebSocketClass;
4、消息状态
5、调用(加载页面中调用)
import WebSocketClass from "@/utils/websocket.js";
const ws = new WebSocketClass();
ws.getMessage();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗