1- ¿Qué son los sockets y para que nos pueden servir?
¿Cómo funcionan los sockets en la comunicación cliente-servidor?
Introducción a la problemática de la comunicación
- Se presenta una arquitectura típica donde un servidor aloja una aplicación y múltiples computadoras clientes realizan peticiones HTTP para obtener información.
- Las solicitudes pueden incluir datos específicos, como información de usuarios o conversaciones, y el servidor responde con los datos solicitados o errores.
- Sin embargo, el servidor no puede notificar al cliente sobre actualizaciones hasta que este realice otra solicitud.
Limitaciones de las peticiones HTTP
- En situaciones donde se requiere comunicación constante, como enviar mensajes privados entre usuarios, ambas máquinas deben hacer peticiones HTTP repetidamente.
- Esto resulta ineficiente; por lo tanto, se introduce el concepto de sockets para mejorar esta interacción.
Ventajas de usar sockets
- Los sockets permiten mantener una conexión activa entre el cliente y el servidor, facilitando notificaciones instantáneas sobre nueva información relevante para el usuario.
- Con esta tecnología, los usuarios pueden recibir alertas en tiempo real sin necesidad de realizar constantes solicitudes HTTP.
Funcionalidades adicionales de los sockets
- Además de recibir mensajes instantáneamente, los sockets permiten notificar desconexiones y conexiones nuevas de usuarios en un chat.
- Esto es especialmente útil en entornos donde la conectividad a Internet puede ser inestable; permite a los usuarios reconectarse manteniendo su sesión anterior.
Personalización y flexibilidad con eventos
- Los sockets ofrecen la capacidad de disparar eventos personalizados según las necesidades del sistema o aplicación.
- Por ejemplo, se pueden implementar gráficos que respondan dinámicamente a eventos recibidos a través del socket.