Server-Sent Eventsを利用する
Node.jsをインストールして、app.js を起動してください。
その後 http://localhost:8000 にアクセスすると、コンソールにServer-Sent Eventsによる通信の内容が表示されます。
このページに埋め込まれているServer-Sent Eventsのクライアントコード
var stream = new EventSource('stream'); stream.addEventListener('ping', function(event) { console.log('ping event: ' + event.data); }, false); stream.addEventListener('message', function(event) { console.log('data: ' + event.data); }, false);
サーバーコード(app.js)の内容
var http = require('http'); var fs = require('fs'); http.createServer(function(req, res) { // 同じドメインでないと利用できないためクライアントコード(list.html)もサーバから配信 if (req.url === '/') { res.writeHead(200, { 'Content-Type': 'text/html' }); res.write(fs.readFileSync('list.html')); res.end(); } else if (req.url === '/stream') { res.writeHead(200, { 'Content-Type': 'text/event-stream' }); var timer = setInterval(function() { res.write('event: ping\n'); res.write('data: ' + (new Date()) + '\n\n'); res.write('data: Hello World\n\n'); }, 1000); req.on('close', function() { clearInterval(timer); res.end(); }); } else { res.writeHead(404); res.end(); } }).listen(8000, '127.0.0.1'); console.log('Server running at http://127.0.0.1:8000/');