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'],
});

Použite skutočnú službu Socket.IO. Agent Node vyjednáva SOCKS; socks5h odovzdáva DNS cieľa tomuto proxy. Vezmite zodpovedajúci koncový bod zo zoznamu proxy SOCKS5, ak sú povolené testy verejných služieb cez verejných sprostredkovateľov.

Polling môže uspieť skôr, než neskoršia aktualizácia na WebSocket zlyhá. Preverte obe cesty aj všetky transportOptions, ktoré prepisujú agenta najvyššej úrovne.

Príklad zámerne používa tieto dva transporty. WebTransport používa inú implementáciu a JavaScript zabalený do prehliadača sa riadi konfiguráciou prehliadača. Ani obyčajný koncový bod WebSocket nie je server Socket.IO.

Zachovajte existujúcu logiku udalostí a opätovného pripojenia, potom odpojte klienta a po skončení spojení uvoľnite jeho agenta.

Súvisiace články