Socket.IO es un marco que utiliza la API de WebSocket. WebSocket define una conexión persistente y casi en tiempo real entre el cliente y el servidor, lo que significa que ambos deben estar escuchando todo el tiempo. Siempre están algo “ocupados”.
En Node.js esto no es un problema en absoluto, ya que la naturaleza de Node no se bloquea y se basa en eventos. Eso significa que si no hay mensajes entrantes, el nodo no está haciendo nada. Se ejecuta en un solo hilo y puede servir muchas conexiones al mismo tiempo.
PHP por otro lado, funciona basado en solicitudes. Cuando llega una solicitud, inicia un proceso, determina con qué necesita responder y luego se cierra. Tener miles de conexiones simultáneas en PHP es poco probable porque estas solicitudes generalmente se procesan con bastante rapidez.
- Cómo optimizar el rendimiento de Java
- ¿Cómo desarrollar un sitio web / aplicación como Facebook live? ¿Qué idiomas o cosas necesito saber?
- Cómo obtener una respuesta al pasar los parámetros en la URL asp.net c #
- ¿Qué es una aplicación AJAX y cómo probarla?
- ¿Cómo revisarías mi página Acerca de?
Esto se reduce a que, para PHP, tener sockets web no es eficiente para el servidor, si es posible. En cuanto a alguien que intenta hacer un equivalente, no hay razón para no intentarlo, pero solo necesita escribir su lado del cliente en JavaScript mientras el código del sitio del servidor está en PHP. Esa es otra ventaja de Socket.IO y node.js: el código se puede compartir entre el cliente y el servidor.