node.js - 使用 express js 和 socket.io 发送消息流以查看
问题描述
我有以下 nodejs/express js
/* GET home page. */
router.get('/', function(req, res, next) {
socket.on(channelName, message => {
//console.log(channelName, message);
});
res.render('index', {page:message, menuId:channelName});
});
如何传递message
实时数据以显示在index
视图中?
解决方案
在路由方法中,您将需要触发/发出事件,例如
,当一条消息到达此路由时,“消息”上的所有侦听器
都会调用 Action :
app.post('/messages', (req, res) => {
var message = new Message(req.body);
message.save((err) =>{
if(err)
sendStatus(500);
io.emit('message', req.body);
res.sendStatus(200);
})
})
并在 index.html 的客户端脚本标记中,添加以下代码:
var socket = io();
socket.on(‘message’, addMessages)
推荐阅读
- perl - overloading a Perl object to redirect hash access to custom routine
- bash - 如何在 Bash 中创建 JSON 数组
- python - 从通过 `pip install -e` 安装的 `sys.path` 中删除包路径
- reactjs - How to add Radio Button in Formik Validations Reactjs?
- python - 用什么来替换 matplotlib 已弃用的 line2d_seg_dist 函数?
- java - 为什么我的 java 计时器根本不重复代码?
- python - Splitting columns in pandas
- sql - 按日期从前一行数据中获取下一个数据的值
- c++ - 为什么 boost intrusive list 的 push_back 函数需要左值?
- python - 将numpy数组打印为pythonlist的成员