利用SSE打造极简web聊天室
创始人
2024-11-15 17:12:18
0

在B/S场景中,通常我们前端主动访问后端可以使用axios,效果很理想,而后端要访问前端则不能这样操作了,可以考虑SSE、websocket和gRPC等方式,实时和性能均有保障。
下面给出一个简单的例子,后端是node+express,前端是html+javascript(jquery+axios) 实现一个简单的web聊天室。
不说废话,直接上代码:

const stringRandom = require("string-random");  const express = require('express'); const app = express();  var msgs=[]; var clients=[];  app.use('/', express.static('./'));  app.get('/events', (req,res)=>{ 	res.writeHead(200,  { 'Content-Type': 'text/event-stream', 'Connection': 'keep-alive', 'Cache-Control': 'no-cache' }); 	res.write(`data: ${JSON.stringify(msgs)}\n\n`); 	let clientid=stringRandom(32, { letters: 'ABCDEF' }) 	clients.push({ "clientid":clientid, "res":res }); 	req.on('close', () => { clients = clients.filter(item => (item.clientid != clientid)); }); });  app.post('/sendmsg',express.json(), (req,res)=>{ 	msgs.push(req.body); 	res.json({"code":200}); 	clients.forEach(client=>{ client.res.write(`data: ${JSON.stringify(req.body)}\n\n`)  }); });  app.listen(3000, () => { console.log(`极简聊天室服务启动`); }) 
   极简聊天室       

浏览器访问效果如下:
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

9分钟下载!wepoker手机... 9分钟下载!wepoker手机插件,hhpoker哪个俱乐部靠谱,透牌教程(今日头条)-哔哩哔哩;最...
第9分钟介绍!约局吧有没有挂(... 第9分钟介绍!约局吧有没有挂(外挂)原来是有挂工具(教会开挂下载);约局吧有没有挂免费下载原版,在约...
4分钟带你讲解!欢欢辅助软件怎... 4分钟带你讲解!欢欢辅助软件怎么样,顺欣茶楼辅助视频,教你攻略(真的有挂)-哔哩哔哩;打开点击测试直...
绝活儿外挂!wepoker有没... 绝活儿外挂!wepoker有没有挂,pokemmo辅助器手机版下载,黑科技教程(真是有挂)-哔哩哔哩...
八分钟了解!手游辅助平台(外挂... 八分钟了解!手游辅助平台(外挂)原来确实有挂插件(实测开挂脚本);1、点击下载安装,手游辅助平台插件...
七分钟了解!黑桃k辅助,wer... 七分钟了解!黑桃k辅助,werplan怎么透视,透视教程(有挂方法)-哔哩哔哩;黑桃k辅助是一款益智...
三分钟带你发现!新上游辅助,福... 福建天天开心辅助器是真的吗是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户...
烘培外挂!wpk有辅助吗,we... 【亲,we poker游戏下 这款游戏可以开挂的,确实是有挂的,很多玩家在这款we poker游戏下...
第1分钟指导!山西扣点子技巧,... 第1分钟指导!山西扣点子技巧,wpk真吗,2026新版技巧(详细教程)-哔哩哔哩;致您一封信;亲爱山...
十分钟得知!微信小程序游戏充值... 十分钟得知!微信小程序游戏充值破解(外挂)原来真的有挂平台(发现开挂软件);微信小程序游戏充值破解是...