繁体   English   中英

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

[英]Broadcast an HTML page to clients in Nodejs with Express

我正在使用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文档发送到数组中存储的所有这些客户端?

您无法使用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
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM