Socket.io vs. WebSockets

4/26
Recursos

Aportes 4

Preguntas 2

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

Socket io vs WebSockets

La ventaja de usar la librer铆a de Socket io, en lugar de implementar tu propio WebSocket es que en la librer铆a ya tienes resueltos la mayor铆a de los problemas comunes al trabajar con WebSockets.

Como se mencion贸 antes, socket io implementa algunas caracter铆sticas extra, entre ellas tenemos:

  • HTTP Long-Polling Fallback 鈫 En el caso que la conexi贸n no se pueda establecer por medio de WebSockets, esta se establecer谩 con una solicitud del tipo HTTP Long-Polling, para mantener una conexi贸n en navegadores que a煤n no soportan esta tecnolog铆a.
  • Reconexi贸n autom谩tica 鈫 Es com煤n que por algunas razones la conexi贸n entre el cliente y servidor se pierda. Es por ello, que socket io incluye un mecanismo que cada cierto tiempo revisa la conexi贸n y trata de re-conectarla en caso de haberse perdido.
  • Packet buffering 鈫 Cuando la conexi贸n de un socket se pierde, la librer铆a almacenar谩 cualquier evento que llegue mientras est谩 desconectado y lo enviar谩 cuando el socket se vuelva a conectar.

馃挕 Este comportamiento suele ser 煤til en algunos casos, pero puede ser que si el socket estuvo desconectado por mucho tiempo, al regresar, se puede tener una sobrecarga de eventos.

  • Broadcasting 鈫 Desde el lado del servidor se tienen varias formas de enviar eventos a todos los clientes conectados, o incluso a un grupo reducido de estos.
  • Multiplexing 鈫 Permite dividir la l贸gica de nuestra aplicaci贸n y crear canales especiales para cierto grupos de usuarios privilegiados (por ejemplo, administradores).

En conclusi贸n, esta librer铆a es muy f谩cil de usar, ya que su funcionamiento se basa en eventos que funcionan tanto desde el cliente como del servidor.

Es importante tener en cuenta que hoy en d铆a, el protocolo de WebSockets es soportado por m谩s del 97% de los navegadores web de forma nativa. Lo que significa que tranquilamente podr铆as trabajar con WebSockets puros.

Pero eventualmente, necesitar谩s resolver muchos de los problemas que esta librer铆a ya tiene resueltos y altamente probados.

馃挕 No es necesario reinventar la rueda, solo 煤sala.

Hola!! con respecto a la pregunta que hace el profe al final, quiero comentar que en la empresa de callcenter donde laboro actualmente necesitan un chat para los lideres de callcenter y me eligieron para hacerlo. Pienso implementar socket. io ya que es una manera muy rapida para hacer aplicativos tipo chat. Ya quiero terminar el curso con el mejor profe, Ratax un saludo y gracias, en verdad me has ayudado en mi vida laboral jajaja

Exacto, con websocket es necesario implementar la reconexi贸n.

Esta clase me ha dado impresi贸n de que Socket-io es a WebSockets puro lo que jQuery fue en su d铆a a JavaScript 馃槄