使用socket.io
使用socket.io
使用express+socket.io完成聊天室项目
socket.io 服务,是一种即时通讯服务
//如何实现通讯
A <=> 服务端 <=> B
/*
1. 客户端发送信息给服务端
2. 服务端接收客户端的信息
3. 服务端发送信息给客户端
4. 客户端接收服务端的信息
*/
socket的使用
//1. 安装socket.io服务
npm i socket.io
//2. 引入socket.io服务 (依赖http服务)
//先搭建一个http服务(与express框架),将其关联与socket.io关联
//1) 引入express框架
let express=require('express');
//2) 创建应用
let app=express();
//3) 搭建http服务
let server=require('http').Server(app);
//4) 创建socket.io服务
let io=require('socket.io')(server);
app.use(express.static('ndoe_modules'));
app.set('view engine','ejs');
app.set('views','./views');
app.get('/app',(req,res)=>{
res.render('index');
res.end();
})
//设置端口
server.listen(端口号);
连接socket.io
1. 服务端连接
io.on('connection',function(socket){
/*
socket形参(是客户端传来的)是一个对象: 对象中有两个函数
1) emit(), 服务端向客户端发送信息
socket.emit('频道号','发送的信息')
socket.broadcast.emit('频道号','发送的信息');
//broadcast是广播的意思,使用它其他客户端才能接收到信息
2) on(), 服务端接收客户端信息
socket.on('频道号',function(res){
//此时的res是对象格式信息
console.log('res: 接收的信息')
})
*/
//通常情况: 发送的信息都是对象格式
})
2. 客户端连接
let socket=io.connect('/');
//其中socket变量中也有两个函数,emit和on,使用方式与服务端一致
克隆节点
let 变量=要复制的节点.clone()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!