使用Express向Nodejs中的客户端广播HTML页面

时间:2019-03-09 20:09:01

标签: javascript html node.js express post

我正在使用Nodejs和Express开发客户端服务器应用程序。我想发送HTML页面(例如index.html)给连接到服务器的所有客户端。

服务器允许用户使用用户名和密码登录,该连接数据以数组的形式存储,如下所示:

  app.post('/myaction', function(req, res) {

    clients.push({
     "name": req.body.nombre,
    "direction":req.connection.remoteAddress,
     "time": getDate(),
     "role" : role
 });
}

因此IP方向也存储在此数组中。我可以使用forEach循环:

clients.forEach(function (client) {

});

哪个Express函数允许我将HTML文档发送到数组中存储的所有这些客户端?

1 个答案:

答案 0 :(得分:0)

使用express无法实现。最好的方法是使用websocket将数据推送到所有连接的客户端。我建议为此使用Socket.io,因为它真的很简单。

const app = require('express')();
const server = require('http').Server(app);
const io = require('socket.io')(server);


io.on('connection', socket => {
   console.log('User connected');
});

app.post('/myaction', (req, res) => {
    io.emit('data', 'some-data');

    res.send('Data sent to all connected users');
});

客户端

// Add socket.io client side library

var socket = io();
socket.on('data', function(data) {
   // Do something with the data sent from the server
});