У меня есть приложение nodejs, в котором я хочу отслеживать каждый входящий запрос в прямом эфире на веб-странице. Я пытаюсь сделать это с помощью socket.io. У меня есть следующий в моем app.js файлExpressJS/Node/Socket.io Broadcast Message по каждому запросу
var express = require('express');
var http = require('http');
var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);
server.listen(3000);
var usageLogger = function(req, res, next) {
console.log("GOT REQUEST !");
var os = require("os"),
cpus = os.cpus();
var url = "URL: " + req.url + "\n" ;
var urlTime = "Time: " + new Date().getTime() + "\n" ;
var liveMessage = "<div><p><b>URL:</b> "+ req.url + "</p><p><b>Time: </b> " + new Date().getTime() + "</p></div>"
io.on('connection', function(socket){
socket.emit('news', liveMessage);
});
}
app.use(usageLogger);
В моем файле footer.jade я следующее:
.container
.footer
hr(style='margin: 30px 0 10px 0;')
p ©
a(href='#') Author
| 2014
script(src='/javascripts/bootstrap.min.js')
script(src="/socket.io/socket.io.js")
script(type='text/javascript')
|var socket = io();
|socket.on('news', function(msg){
|$('#messages').append(msg);
|});
block footer
Когда доступ к любой странице, я только получаю сообщение вещания, когда Я обновляю индексную страницу сайта. Так, например, когда я первый локальный доступ: 300, я могу увидеть следующее:
URL:/ Время: 0909234234
Однако, если я открываю новую вкладку и доступ к Localhost: 3000/пример, я должны обновить первую страницу, чтобы получить следующий вид
URL:/ время: 0909234234
URL:/пример время: 0909234239
Я борюсь чтобы понять, почему это не обновляется автоматически, не обновляя страницу. Любая помощь мне очень ценится.
вы излучающие новости, когда приходит запрос попытаться вещания для всех сокетов.. –
@MohammadRahchamani Спасибо, что вернулись ко мне, я довольно новичок в node и socket.io. Не могли бы вы привести пример того, что вы имеете в виду. – kushaldsouza
@MohammadRahchamani Спасибо за помощь. Я понял. Если вы можете опубликовать свой ответ ниже, я соглашусь с ним. Еще раз спасибо. – kushaldsouza