miércoles, 30 de junio de 2010

Creación de servidores en javascript

Aunque javascript está diseñado para ejecutarse en el cliente al cargar páginas web, no está limitado a este ámbito.
Existe un proyecto llamado CommonJS que amplia la funcionalidad del lenguaje haciéndole poder interactuar con el sistema como un lenguaje más.

node.js es un framework para la creación de servidores que se apoya en la librería CommonJS.
Está construido completamente siguiendo la filosofía "event-loop" y todas las operaciones I/O se realizan de manera asíncrona para una buen aprovechamiento de la concurrencia del sistema.

Así pues, node.js permite crear servidores optimizados de forma sencilla desde un lenguaje dinámico como javascript, un ejemplo muy simple de un servidor creado con node.js es el siguiente:

var sys = require('sys');
var net = require('net');

var acc = 0;

net.createServer(function (socket) {
socket.setEncoding("utf8");
socket.addListener("connect", function () {
socket.write("Accumulator server\r\n");
socket.write("Accumulator value: " + acc + '\n');
});
socket.addListener("data", function (data) {
var input = parseInt(data);
if(!isNaN(input)){acc += parseInt(data);}
socket.write("Accumulator value: " + acc + '\n');
});
socket.addListener("end", function () {
socket.end();
});
}).listen(8888, "127.0.0.1");

Se puede consultar en mayor profundidad el API oficial.

0 comentarios: