当前位置: 代码迷 >> 综合 >> vue+WebSocket+nodejs模拟
  详细解决方案

vue+WebSocket+nodejs模拟

热度:122   发布时间:2023-09-27 10:33:18.0
  • npm安装
npm install nodejs-websocket --save
  • 添加服务端sock.js
let ws = require("nodejs-websocket");
console.log("建立链接");
ws.createServer((conn)=> {conn.on("text", (str)=> {conn.send(`您发送的消息:${str}`)});conn.on("close", (code, reason)=> {console.log("关闭连接",code,reason)});conn.on("error", (code, reason)=> {console.log("异常关闭",code,reason)})
}).listen(8001);//8001端口号
console.log("建立完毕");
  •  package.json中添加
  "scripts": {...,"socekt": "node src/assets/sock.js"},
  • 开启websocket
npm run socekt
  • 客户端初始化
data() {return {path: "ws://localhost:8001/", ws: {},};
},
created() {this.init();
},
methods: {init() {this.ws = new WebSocket(this.path);//监听是否连接成功this.ws.onopen = ()=> {console.log('ws连接状态:' +this.ws.readyState);}//接听服务器发回的信息并处理展示this.ws.onmessage = (e)=> {console.log('接收到来自服务器的消息:' + e.data);}//监听连接关闭事件this.ws.onclose = ()=>{//监听整个过程中websocket的状态console.log('ws连接状态:' + this.ws.readyState);this.ws.send('连接关闭');}//监听并处理报错事件this.ws.onerror = (err)=> {console.log(err);}},
}
  • 发送信息
 this.ws.send('发送的信息');