Socket.IO en Node.js: usa un agente SOCKS para polling y WebSocket
Mantén intacta la URL del servidor Socket.IO y revisa las sustituciones por transporte si falla la actualización.
import { io } from 'socket.io-client';
import { SocksProxyAgent } from 'socks-proxy-agent';
const agent = new SocksProxyAgent('socks5h://proxy.example:1080');
const socket = io('https://events.example', {
agent,
transports: ['polling', 'websocket'],
});Usa el servicio Socket.IO real. El agente de Node negocia SOCKS; socks5h delega el DNS de destino a ese proxy. Toma un punto final correspondiente de la lista de proxies SOCKS5 cuando se permitan pruebas de servicios públicos a través de intermediarios públicos.
El polling puede tener éxito antes de que falle una actualización posterior a WebSocket. Inspecciona ambas rutas y cualquier transportOptions que sustituya al agente de nivel superior.
El ejemplo usa deliberadamente estos dos transportes. WebTransport emplea otra implementación, y el JavaScript incluido en el navegador sigue la configuración del navegador. Un punto final WebSocket simple tampoco es un servidor Socket.IO.
Conserva la lógica existente de eventos y reconexión, luego desconecta el cliente y libera su agente cuando terminen las conexiones.