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