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

Bruk den virkelige Socket.IO-tjenesten. Node-agenten forhandler SOCKS; socks5h overlater DNS-en til målet til den proxyen. Ta et passende endepunkt fra SOCKS5-proxyoversikten når tester av offentlige tjenester gjennom offentlige mellommenn er tillatt.

Polling kan lykkes før en senere WebSocket-oppgradering feiler. Sjekk begge veiene og alle transportOptions som overstyrer agenten på øverste nivå.

Eksempelet bruker med vilje disse to transportene. WebTransport bruker en annen implementasjon, og JavaScript som er pakket med nettleseren, følger nettleserens oppsett. Et vanlig WebSocket-endepunkt er heller ikke en Socket.IO-server.

Behold den eksisterende logikken for hendelser og gjenoppkobling, koble deretter fra klienten og slipp agenten når tilkoblingene er ferdige.

Relaterte artikler