Трансляция HTML-страницы клиентам в Nodejs с помощью Express - PullRequest
1 голос
/ 09 марта 2019

Я занимаюсь разработкой клиент-серверного приложения с использованием 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 голосов
/ 09 марта 2019

Вы не можете достичь этого, используя экспресс.Наилучшим подходом является использование веб-сокетов для передачи данных всем подключенным клиентам.Для этого я рекомендую использовать 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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...