En el articulo precedente, creamos un pequeño servidor web, aunque solo era capaz de contestar siempre con una constante; en este articulo, iremos entrando un poco mas en los recursos que nos proporciona Node.js, y como podemos adaptar ese servidor a nuestras necesidades.
Empecemos, pues, recordando lo que está pasando; en el articulo anterior ya vimos como crear un proyecto, bien, creamos un nuevo proyecto con Nodeclipse
y le damos como nombre «ServidorBasico»
Si os fijáis, en esta ocasión, no utilizo ningún «template», y como consecuencia,
no me genera ningún fichero fuente.
Vamos a empezar creando un servidor como el del capitulo anterior, para ello con el botón derecho en el proyecto, creamos una nueva carpeta llamada «app»
Y con el ratón en la carpeta recién creada, podemos utilizar nuevamente el botón derecho de ratón para crear un fichero
que llamare «server.js»
Ahora, podemos empezar a crear el servidor, escribiendo el siguiente código:
Es muy semejante a lo que vimos en el artículo anterior, pero….hay cosas nuevas; veamos
En la linea 6, defino la función «inicio» para que contenga todo el código de mi servidor, eso nos permitirá mas adelante, exportarlo; de momento dejo en la linea 17 la llamada a la función, para que se ejecute todo.
En la línea 7 defino una función que espera dos parámetros; esos parámetros me los enviará node y son los objetos Request (req) y Response (res) que me va a permitir interaccionar con el navegador remoto; con»req» tengo acceso a lo que el navegador cliente me envió, y con «res» puedo actuar sobre lo que yo quiero enviar. De momento:
- en la línea 9 escribo la cabecera con el código de respuesta (2oo es ok), y le indico el «Content-Type» de la respuesta, que en este caso, sera ‘text/html’
- en la línea 10 escribo en el cuerpo, la string que aparece entre comillas
- en la línea 11 cierro la respuesta, con lo que se enviará todo al cliente…cuando se llame la función
la línea 8, como sabeis, la utilizo para poder ver en la consola que se ha ejecutado la función
Ahora bien, para que se ejecute esta función, alguien la tiene que llamar.
Si os fijáis en la linea 13, veréis que estoy creando un objeto server, y es aquí, donde indico que cuando este objeto reciba alguna llamada, tiene que procesarla utilizando la función «onRequest», se lo indico entre los paréntesis. y ya de paso, le digo que inicie la escucha en el puerto 3000.
Vamos a lanzar nuestro servidor, para ello, nos situamos sobre el fichero «server.js», y utilizamos el botón derecho de ratón:
Seleccionamos «Node Application» y veremos aparecer nuestro primer mensaje, el de la línea 14:
Eso significa que la función «inicio()» se ha ejecutado, por lo que podemos pensar que tenemos un servidor escuchando en el puerto 3000, pero fijaros que el mensaje de la línea 8 no ha salido. ¿Porque?, porque como el servidor no ha recibido todavía ninguna petición, no ha llamado a la función «onRequest».
Vamos a solucionar eso; abrimos un navegador de Internet y tecleamos la dirección de nuestro servidor, que será «localhost:3000», ya que ese es el puerto en donde le hemos pedido que escuche.
Como respuesta, vemos que nos aparece el mensaje que hemos escrito en las lineas 9 y 10,
y si vamos a la consola, vemos, también que nos muestra el mensaje escrito en la linea 8:
con lo que comprobamos que nuestra función «onRequest» ha sido llamada cuando el servidor a recibido una petición
Con lo explicado hasta aquí, aunque seguimos atados a una respuesta única, ya que el servidor siempre contesta loa mismo, ya podemos empezar a intuir que por medio del objeto Request, podremos averiguar que nos están pidiendo, y poder cambiar la respuesta.
En el siguiente articulo conoceremos el funcionamiento de los módulos en Node.js.
Relacionado
Descubre más desde Recursos para formacion
Suscríbete y recibe las últimas entradas en tu correo electrónico.
4 comentarios