ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

使用socket.io

2022-07-26 22:05:25  阅读:181  来源: 互联网

标签:socket app express 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有