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

Sebenzisa insiza ye-Socket.IO yangempela. I-Node agent ixoxisana nge-SOCKS; i-socks5h idlulisela i-DNS yendawo ekuyiwa kuyo kuleyo proxy. Thatha indawo yokugcina efanele ku-uhlu lwama-proxy e-SOCKS5 uma ukuhlolwa kwezinsiza zomphakathi ngabalamuli bomphakathi kuvunyelwe.

I-polling ingaphumelela ngaphambi kokuba i-upgrade ye-WebSocket yakamuva yehluleke. Hlola zombili izindlela nanoma iyiphi i-transportOptions edlula i-agent yezinga eliphezulu.

Isibonelo sisebenzisa ngamabomu lezi zinto zokuhamba ezimbili. I-WebTransport isebenzisa enye indlela yokusebenza, futhi i-JavaScript ehlanganiswe nesiphequluli ilandela ukucushwa kwesiphequluli. Indawo ejwayelekile ye-WebSocket nayo ayiyona isiphakamiso se-Socket.IO.

Gcina umqondo okhona wemicimbi nokuxhuma kabusha, bese unqamula iklayenti futhi ukhulule i-agent yalo uma ukuxhumana sekuphelile.

Izihloko ezihlobene