Я пытаюсь создать API, который будет отправлять JSON в реальном времени. Я использую NodeJS с ExpressJS и Socket.io, и проблема в том, что res.send не может быть отправлен более одного раза; И я действительно не знаю, как отправлять свои (в режиме реального времени) данные, не запрашивая обновления моей страницы.
По сути, я сделал таймер, который меняет значение каждую секунду. Я также пытался отправить файл, но не могу использовать этот метод, потому что мое приложение для iOS запрашивает данные JSON без кода HTML.
setInterval( function() {
var msg = Math.random().toString();
io.emit('message', msg);
console.info(msg);
res.send(msg);
}, 1000);
Может быть, есть другой фреймворк, кроме Express, который я мог бы использовать и мог бы автоматически обновлять свои данные? Строка console.info работает хорошо, и мои данные обновляются каждые 1000 мс.
заранее спасибо
Так что я не могу использовать socket.io?
вы можете использовать socket.io, но зачем вам resend в setInterval? клиент должен быть подключен к серверу socket.io, а затем будет реагировать соответствующим образом, когда сервер выдает событие, которое вы ожидаете на клиенте.
Поскольку клиент и сервер находятся в одной точке, а res.send(msg) отправляет все клиенту, потому что он показывает только JSON. Но после res.send я не могу изменить переменную...





Вам нужно использовать веб-сокеты вместо необработанных HTTP-запросов.