Socket.IO a Node.js: feu servir un agent SOCKS per al polling i el WebSocket
Mantingueu intacta l'URL del servidor Socket.IO i reviseu les substitucions per transport si l'actualització falla.
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'],
});Feu servir el servei Socket.IO real. L'agent de Node negocia SOCKS; socks5h delega el DNS de destinació a aquest proxy. Agafeu un punt final corresponent de la llista de proxys SOCKS5 quan es permeten proves de serveis públics a través d'intermediaris públics.
El polling pot reeixir abans que falli una actualització posterior a WebSocket. Inspeccioneu tots dos camins i qualsevol transportOptions que substitueixi l'agent de nivell superior.
L'exemple utilitza deliberadament aquests dos transports. WebTransport fa servir una altra implementació, i el JavaScript inclòs al navegador segueix la configuració del navegador. Un punt final WebSocket simple tampoc no és un servidor Socket.IO.
Conserveu la lògica existent d'esdeveniments i reconnexió, després desconnecteu el client i allibereu el seu agent quan acabin les connexions.