首页 > 解决方案 > 使用 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视图中?

标签: node.jsexpresssocket.io

解决方案


在路由方法中,您将需要触发/发出事件,例如
,当一条消息到达此路由时,“消息”上的所有侦听器
都会调用 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)

推荐阅读