Node.js Socket Example

延伸上一篇Node.js的Socket Server介紹,下面是Ryna在Joyent Cloud上介紹的第二個範例,此範例建立一各Web服務與一各Socket服務,透過Socket服務的資料鍵入來顯示在Web Page上,透過簡單的幾個function將資料串流顯示於Web Server的頁面上,從這邊可以看到Node針對微型服務的功力阿!!

//Ryan Demo
http = require('http');
net = require('net');

sockets = [];

tcpServer = net.createServer(function(socket){
        sockets.push(socket);
        socket.on('end', function(d){
                var i = sockets.indexOf(socket);
                sockets.splice(i,1);
        });
});

tcpServer.listen(8001);

s = http.createServer(function(req, res){
        var socket = sockets.shift();
        if (socket) {
                socket.on('data', function(d){
                        res.write(socket.remoteAddress + '>');
                        res.write(d);
                });
        } else {
                res.end('no sockets...');
        }
});

s.listen(8000);