利用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(`极简聊天室服务启动`); }) 
   极简聊天室       

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

相关内容

热门资讯

此事引发广泛关注!约局吧透视辅... 此事引发广泛关注!约局吧透视辅助,新鸿狐挂机(确实有挂平台)-哔哩哔哩此事引发广泛关注!约局吧透视辅...
透视辅助"欢乐互娱辅... 透视辅助"欢乐互娱辅助器"切实是真的有辅助器(哔哩哔哩)进入游戏-大厅左侧-新手福利-激活码辅助透视...
反观!小程序微乐陕西挖坑辅助,... 反观!小程序微乐陕西挖坑辅助,wepoker买钻石有用吗(透视)真是有辅助脚本(哔哩哔哩)1、这是跨...
据悉!老友麻将开挂辅助器,巴蜀... 您好,老友麻将开挂辅助器这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
黑科技辅助挂"欢乐情... 黑科技辅助挂"欢乐情怀脚本辅助器ios"其实真的有辅助教程(哔哩哔哩)欢乐情怀脚本辅助器ios能透视...
据玩家消息!四川游戏家园破解版... 据玩家消息!四川游戏家园破解版无限金币,wpk俱乐部辅助器(透视)一贯是真的有辅助脚本(哔哩哔哩)1...
受玩家影响!盛世辅助软件怎么样... 受玩家影响!盛世辅助软件怎么样,多乐找刺激辅助(都是是真的插件)-哔哩哔哩1、盛世辅助软件怎么样免费...
2026版复盘"微信... 2026版复盘"微信小程序辅助软件有哪些"一贯真的有辅助工具(哔哩哔哩)一、微信小程序辅助软件有哪些...
经调查!pokernow辅助控... 经调查!pokernow辅助控制,wepoker有插件吗(透视)好像存在有辅助攻略(哔哩哔哩)1、下...
透视规律"老版温州茶... 透视规律"老版温州茶苑版辅助器"一直确实有辅助工具(哔哩哔哩)在进入老版温州茶苑版辅助器软件靠谱后,...