官网地址:Socket.IO
首先安装 express,socket.io
npm i express,socket.io -S
/server/index.js
// 官网用例:https://socket.io/zh-CN/docs/v4/server-initialization/#with-express
const express = require('express');
const { createServer } = require("http");
const { Server } = require("socket.io");
const app = express();//设置静态资源地址
app.use(express.static('../web'));//开启一个websocket服务
const httpServer = createServer(app);
const io = new Server(httpServer);//推送消息的代码,必须写到触发connection的回调函数中
//其中的socket代表的是当前客户端
io.on('connection', function (socket) {console.log('a user connected');//服务器主动向客户端推送消息,有字符串msg标识的嵌套字发出事件处理程序//emit表示给客户端推送信息,socket.emit('msg', { id: 1, username: '客户端第一次接受数据' });// hello是和客户端约定的事件名称socket.on('hello', (data) => {console.log(data);socket.emit('msg', '服务器:' + data.split('').reverse().join(''));})
});httpServer.listen(3000, () => {console.log('this server is running at http://localhost:3000');
});
/web/index.html
前后端通信