Instalar y probar socket.io: ejemplo en Windows 2008 Server R2

Los web sockets, o la comunicación asíncrona en tiempo real entre clientes y servidor, es una de las tecnologías que más fuerza está tomando en el mundo web y móvil. La instalación es relativamente fácil, pero requiere algunas instalaciones previas, así como conocer un par de trucos con los que el usuario experimentado ya se ha topado.

Este tutorial sobre cómo instalar y probar socket.io es para aquellos que, como yo en su momento, se encontraron con pequeños problemas en el momento de iniciarse en este mundo. Utilizaremos Windows 2008 Server R2 como ejemplo.

Node.js

Socket.io funciona bajo un servidor Node, de manera que hay que instalar antes node.js en vuestra plataforma. Si no lo tenéis, en este tutorial explicamos cómo instalar y probar node.js también en un Windows 2008 Server R2.

Socket.io

Vamos a ver paso a paso cómo instalarlo.

1) Es interesante crear antes un directorio de trabajo. Lo aconsejable, al principio, es crear uno en el directorio raíz (C:\) para no tener demasiados problemas al encontrar archivos o escribir la ruta en el path, por lo menos en los primeros pasos, cuando no conocemos el producto.

2) Una vez creado el directorio, abrid la consola de Windows (Inicio -> ejecutar -> cmd), id al directorio de trabajo que habéis creado, y, y como dice la página oficial de socket.io, escribid: “npm install socket.io”.

Página oficial de socket.io

Página oficial de socket.io

Este comando conecta con el repositorio de Node (npm son las iniciales de Node Packaged Modules) y permite instalar directamente socket.io. Es importante estar en el directorio de trabajo, dado que se descargarán los archivos necesarios en el directorio desde donde llamemos a npm.

Instalación de socket.io mediante el comando npm

Instalación de socket.io mediante el comando npm

Una vez hecho esto, si veis la lista de la imagen, ya tenemos los archivos necesarios para trabajar con socket.io. Si veis líneas en rojo con un destacado ERROR, leed con atención qué necesita socket.io para instalarse: normalmente es que falta algún componente.

3) Para probar el socket.io en nuestra máquina, volveremos a la página oficial de socket.io y seguiremos el tutorial de prueba que nos dan, para el cual sólo hace falta instalar socket.io (para otras funcionalidades, nos pedirán que instalemos más cosas, pero el proceso suele ser, si no el mismo, parecido).

4) Para ello, siguiendo el ejemplo de la página, crearemos dos archivos en el directorio de trabajo creado para socket.io:

  • un archivo javascript para el servicio socket.io, que vivirá en un servidor node.js (en nuestro caso socket.js)
  • otro para la página web mediante la cual el cliente hará la llamada mediante web socket (en nuestro caso index.html)

5) En el archivo socket.js pondremos el contenido del ejemplo (¡Cuidado! En el momento de hacer este tutorial, me dio algunos errores que es posible que os de también a vosotros: os pongo mi corrección en la imagen):

Contenido de socket.js

Contenido de socket.js

Una vez creado, inicializad el servidor node tal y como explicamos en el tutorial correspondiente a Node.js. SI todo está bien, veréis el mensaje incluido en el servidor: “socket.io started”.

6) A continuación cread con el código proporcionado el archivo html y ponedlo en el mismo directorio que el anterior. Una vez hecho esto, abrid el archivo con vuestro navegador preferido y con la consola a la vista (en mi caso Firefox con Firebug, pero cualquier navegador tiene su propia consola).

Si todo está correcto, veréis vuestro Hola Mundo en la consola (2): ¡la comunicación por web sockets ha sido un éxito!

Comunicación entre cliente y servidor establecida

Comunicación entre cliente y servidor establecida

¡Cuidado! La ruta en la que buscar socket.io.js es importante, porque también busca otros componentes como socket.io client u otros. La ruta señalada con (1) en la imagen es la que funciona en el momento de la creación de este tutorial.

Una vez familiarizados con socket.io y node.js, podréis seleccionar los ficheros necesarios y crear vuestros paquetes.

¡Suerte!

NB.- Por cupuesto, para utilizar socket.io desde clientes externos, tendréis que abrir los puertos de vuestro servidor Windows 2008 R2.

 

 

 

Leave a Reply