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

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

相关内容

热门资讯

我来教大家!新518互游插件下... 我来教大家!新518互游插件下载(新超凡大厅辅助)总是有作弊器开挂辅助下载(有挂秘笈);1、完成新5...
第5分钟了解!方片十三张透视脚... 第5分钟了解!方片十三张透视脚本,大菠萝免费辅助,技巧教程(果然真的是有挂);第5分钟了解!方片十三...
透视透视"wepok... 透视透视"wepoker代打辅助机器人"科普开挂作弊辅助黑科技(其实是真的有挂);1、很好的wepo...
推荐一款!新九游辅助(潮汕掌上... 推荐一款!新九游辅助(潮汕掌上娱辅助科技)素来有作弊器开挂辅助工具(有挂方略);1、点击下载安装,潮...
第七分钟了解!欢乐情怀辅助挂,... 第七分钟了解!欢乐情怀辅助挂,pokemmo手机版修改器,揭秘教程(总是是有挂)是一款可以让一直输的...
透视实锤"hhpok... 透视实锤"hhpoker德州真的假的"解迷开挂作弊辅助安装(从来真的是有挂);作为hhpoker德州...
盘点几款!胡乐辅助脚本可靠(7... 盘点几款!胡乐辅助脚本可靠(789大菠萝可以控制)其实有作弊挂开挂辅助黑科技(真实有挂);1、AI玩...
第7分钟了解!丫丫陕西免费插件... 【福星临门,好运相随】;第7分钟了解!丫丫陕西免费插件,we poker辅助器,技巧教程(一直是有挂...
透视软件"竞技联盟破... 透视软件"竞技联盟破解版最新版"外挂开挂作弊辅助app(好像真的是有挂);1、这是跨平台的竞技联盟破...
玩家必看科普!新道游游戏辅助器... 玩家必看科普!新道游游戏辅助器免费版(盛世游戏透视软件)果然有作弊挂开挂辅助下载(真的有挂);1、【...