Si recordáis el anterior capítulo, dejamos la llamada “start” creada, pero nos falta crear al archivo que se llama desde esa función. Ese archivo se llama index.js y debemos colocarlo dentro de la carpeta “server” para que funcione la llamada que realizamos.

En resumén, lo que debemos hacer es crear un servidor con Node.js y Express. Para realizar una aplicación de este tipo no hace falta ser un experto en programación pero si que se tienen que tener algunas nociones, aunque te daremos el código que vayamos implementando en cada entrada.

Explicación del código fuente

Lo primero que tenemos que hacer es cargar el módulo de Express de acuerdo así que creamos una variable que se llame express y aquí vamos a cargar con la función requiere el paquete en este caso que se Express.

Esto no es mas que un objeto o una clase que tenemos por ahí guardada en la carpeta node_modules. Este objeto es un módulo interno propio de node y se carga gracias a la función require.

Ahora tenemos que llamar a express, para ello nos creamos una variable app que llama a la función express que viene de la librería con el mismo nombre.

Ahora debemos cargar el servidor HTTP cargando dicha librería que tiene Node.js también. Además hay que pasar al método server la app de Express.

Esta variable server hay que pasarla a socketIO para decirle que va a estar escuchan o trabajndo con socket dentro de la conexión http que vamos a crear. Para ello creamos una variable io y le pasamos ese servidor con la librería express que nos permitirá trabajar con los sockets. Esto e suna configuración básica que necesitamos tener porque si no no funcionan los sockets.

Cargamos la librería y le pasamos el servidor (variable server) que engloba la libreria HTTP y la librería Express.

Ahora nos creamos un servidor con Express (Server.listen) pesándola el puerto (en este caso 6677, pero puede ser el 8080) y vamos a crear una función de callback y le vamos a pasar console.log que nos diga que el servidor esté funcionando metiendo la ruta o url.

Ahora debemos crear una ruta incocando al método Express a través de la variable app y hacer un get de la ruta que queremos y una función a la que se pasan los parámetros request y response y le decimos que si el estado de la respuesta tiene estado 200, nos pinte por pantalla un echo que en este caso es ‘Hola mundo desde una ruta’.

Copy & Paste de lo anteriormete explicado

Ahora en principio ya tenemos lo más básico que es el servidor de Express. Os dejamos el código que hemos realizado.

var express = require('express');
var app = express();
var server = require('HTTP').Server(App);
var io = require('socket.io')(Server);
 
app.get('hola-mundo', function(req, res){
  res.status(200).send('Hola mundo desde una ruta');
});
 
server.listen(6677, function(){
  console.log('Servidor está funcionando en http://localhost:6677');
});

Ahora si vamos a la ruta indicada veremos que no hay nada porque todavía no hemos lanzado el servidor. Debemos lanzarlo para poder utilizarlo.

Lanzando nuestro servidor

Para lanzarlo, ejecutamos “npm start” con lo que conseguimos que el servidor esté funcionando correctamente.

aplicación web de Chat con NodeJS y SocketIO4

La consola tiene conflictos con Node.js por lo que es muy probable que se quede colgada. Para seguir usándola debemos ir al administrador de tareas y eliminar la tarea que se encuentra en Procesos en Segundo Plano.

Tal y como indica la consola, ya tendremos el servidor funcionando en la ruta indicada, pero nos dará un error (Cannot Get/) porque no tenemos ninguna ruta creada. al poner la ruta indicada con la pagina hola-mundo obtenemos el texto que hemos puesto al tener un status 200.

aplicación web de Chat con NodeJS y SocketIO5