Socket.IO en Node.js: use un axente SOCKS para polling e WebSocket
Manteña intacto o URL do servidor Socket.IO e revisa as substitucións por transporte se falla a 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'],
});Use o servizo Socket.IO real. O axente de Node negocia SOCKS; socks5h delega o DNS de destino a ese proxy. Colla un punto final correspondente da lista de proxies SOCKS5 cando se permitan probas de servizos públicos a través de intermediarios públicos.
O polling pode ter éxito antes de que falle unha actualización posterior a WebSocket. Inspecciona ambas as rutas e calquera transportOptions que substitúa o axente de nivel superior.
O exemplo usa deliberadamente estes dous transportes. WebTransport emprega outra implementación, e o JavaScript incluído no navegador segue a configuración do navegador. Un punto final WebSocket simple tampouco é un servidor Socket.IO.
Conserva a lóxica existente de eventos e reconexión, despois desconecta o cliente e libera o seu axente cando rematen as conexións.