其他分享
首页 > 其他分享> > 使用socket.io

使用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