1 Star2 Stars3 Stars4 Stars5 Stars
(2 votes, average: 4,00)
Cargando…

This post is also available in: Inglés

¿Qué es websocket? Por fin aquí llega la respuesta a tu pregunta

Bienvenidos al blog de eHorus, esa extensa enciclopedia sobre conceptos informáticos que nos suelen pillar, a muchos, a desmano. El día de hoy vamos a lidiar con la popular pregunta “¿qué es websocket?”. Es probable que no te salga en la partida de Trivial estival de los sábados por la noche con tus compañeros de acampada. Tampoco en un programa de la televisión, bueno, a lo mejor en Saber y Ganar, que Jordi Hurtado, aparte de ser inmortal, sabe de todo. Pero aquí estamos nosotros, por si alguna vez en tu vida alguien te pone contra la espada y la pared y necesitas esta respuesta.

¿Qué es Websocket?

Muchos, los más atentos, habréis oído hablar de este nuevo componente en HTML5, pero, aun así, no entendéis cómo se trabaja con websockets. Nadie os lo puede reprochar. Yo no podría. En realidad, qué es websocket, pues es una API que nos permite realizar comunicación bidireccional y abierta entre dos dispositivos; en este preciso caso, entre un cliente y un servidor.

Vamos a poner un ejemplo, porque con ejemplos y parábolas se llega muy lejos en las explicaciones, como todos sabemos por nuestro paso por primaria:

Pepín es un señor de mediana edad muy simpático que organiza encuentros de “Amigos del 600”. Bien, pues imaginemos que Pepín accede a una página de Internet. Cuando Pepín accede a una página de Internet en realidad lo que sucede es que dos computadoras están hablando, mantienen una charla. Una de las computadoras es la de Pepín y la otra es el servidor.

“La computadora cliente”, la de Pepín, realiza una solicitud de comunicación sobre una “computadora servidor”. En este caso la solicitud de comunicación comienza con un saludo. El ordenador de Pepín dice algo así como “Hola” a la computadora servidor. La computadora servidor le responde “Hola, a ti también”. Que conste que es una conversación figurada, no os liéis que aquí nadie dice “Hola” literalmente. El pc de Pepín sigue: “¿Te puedo enviar un archivo?”, por ejemplo, si es que Pepín deseara mandar un archivo. El servidor va a responderle: “¿Qué tipo de archivo?”. “Un archivo jpg” le dirá el ordenador de Pepín. “¿Cuánto pesa este archivo jpg?”, y así… luego la computadora de Pepín le va a responder, etc.

La computadora servidor le va a contestar siempre dependiendo de lo que se haya predeterminado en ella antes para un intercambio de este tipo de archivos.

Esto es lo que ocurre normalmente cuando trabajamos o interactuamos con una página estática, las de toda la vida, una página simple. La conversación se encuentra cerrada y simplificada. Lo malo es que cada vez que Pepín entre a su página para obtener de nuevo información va a tener que empezar otra vez con esta conversación. ¿Por qué? Porque no hay una comunicación abierta entre los dos o al menos no se mantiene abierta.

Tanto el cliente como el servidor se olvidan de que esta conversación alguna vez se ha producido en el momento en que se cierra la conexión. Por lo tanto, cada vez que vas a entrar de nuevo tienes que empezar con el “hola” al servidor, mostrarle tus intenciones, lo que quieres, cómo lo quieres, y después despedirte. Y lo siento, por mucho que estimes a tu servidor, cuando todo acabe no se acordará de ti y tampoco cuando cuando vuelvas a él a por material nuevo. “El olvido es la única venganza y el único perdón.” -J.L. Borges

No te lo tomes a pecho, Pepín, está todo programado así. Lo tuyo es una conexión de una sola petición, momentánea y perecedera, y el protocolo está pensado para prestar servicio a un vasto número de gente. No se pueden mantener conexiones profundas de manera gratuita así como así.

¿Qué es websocket, entonces? Bien, con websocket sí se mantiene abierta esta comunicación de la que hemos estado hablando. Se crea un websocket y en el momento en el que se abre se puede realizar comunicación un bidereccional abierta. Eso quiere decir que el servidor le puede hablar al cliente y el cliente al servidor. El objetivo final de los websockets es el envío de información (o comunicación entre cliente y servidor) en tiempo real. Un socket es un protocolo de comunicación bidireccional y un websocket es lo mismo, solo que este trabaja dentro de otro protocolo direccional llamado HTTP.

Como digo, la finalidad del websocket es crear conexiones bidireccionales y duraderas entre un cliente y un servidor. Creamos la conexión, cliente y servidor, se plantea el cómo comunicarse utilizando el mismo esquema que HTTP, solo que manteniendo abierto el puerto y decidiendo enviarse mensajes en tiempo real.

De esta manera el servidor podrá enviar a Pepín, o a cualquiera de sus estimados clientes, cualquier mensaje en cualquier momento y lo recibirán de inmediato. Lo mismo pasaría al contrario. Nosotros podremos crear un mensaje desde nuestro ordenador y podremos enviarlo sin tener que empezar de cero con una nueva conexión o con la dichosa conversación. Ya se encontrará abierta y nos reconocerá.

Y ahora ya estáis más o menos preparados para dar respuesta a la temible pregunta. No me refiero al “¿todavía me quieres?”, sino a “¿qué es Websocket?”. Otra duda, sin embargo, me queda a mí, a ver si teneis respuesta… ¿Conocéis ya eHorus?

Ehorus es un sistema de gestión remota de equipos informáticos (software de escritorio remoto) que puede ayudarte con muchas tareas.

¿Quieres conocer qué es lo que eHorus puede hacer por ti? ¡Haces muy bien! Puedes ver mucho más entrando en la siguiente dirección: https://ehorus.com/es/

O también puedes enviar cualquier pregunta que tengas acerca de eHorus. Puedes hacerlo utilizando el formulario de contacto que se encuentra aquí mismo: https://ehorus.com/es/contacta-con-nosotros-acceso-remoto-a-ordenador/

¡El equipo de eHorus estará encantado de atenderte!

RSS Feed