使用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()
标签:socket,app,express,io,使用,服务端,客户端 来源: https://www.cnblogs.com/ashuang/p/16522763.html