setInterval

ウォーターフォールを描画するためには、ホストからブラウザに、例えば一定間隔でデータを送る必要があります。

remote host % node index.js

index.js

var http = require('http');
var fs = require('fs');
var index = fs.readFileSync(__dirname + '/index.html');
var count = 0;

var app = http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end(index);
});

var io = require('socket.io').listen(app);

function sendTime() {
    io.emit('time', { message: 'test: ', number: count++ });
}

setInterval(sendTime, 5000);
app.listen(3000);

index.html

<!doctype html>
<html>
    <head>
        <script src='/socket.io/socket.io.js'></script>
        <script>
            var socket = io();
            socket.on('time', function(data) {
                addMessage(data.message + data.number);
            });
            function addMessage(message) {
                var text = document.createTextNode(message),
                    el = document.createElement('div'),
                    messages = document.getElementById('messages');
                el.appendChild(text);
                messages.appendChild(el);
            }
        </script>
    </head>
    <body>
        <h1>Test: setInterval</h1>
        <p id='messages'></p>
    </body>
</html>

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.