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

Brúka tann veruliga Socket.IO-tænastuna. Node-agenturin samsemir um SOCKS; socks5h letur DNS hjá málinum til tað proxyið. Tak ein hóskandi endapunt úr SOCKS5-proxy-listanum, tá ið royndir av almennum tænastum gjøgnum almenna millumgongufólk eru loyvdar.

Polling kann eydnast, áðrenn ein seinni WebSocket-uppstigning miseydnast. Kannt báðar leiðir og eina og hvørja transportOptions, sum yvirskriva agentin á hægsta stigi.

Dømið brúkar við vilja hesar báðar flutningarnar. WebTransport brúkar aðra ílegging, og JavaScript, sum er buntað við kagann, fylgir uppsetingini hjá kaganum. Eitt rein WebSocket-endapunt er heldur ikki ein Socket.IO-ambætari.

Varðveit tær verandi hendingar- og endurtengingarreglurnar, so aftur, tá ið sambondini eru liðin, fráklæd klientin og slepp agentinum hansara.

Skyldar greinar