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

Defnyddiwch y gwasanaeth Socket.IO go iawn. Mae asiant Node yn trafod SOCKS; mae socks5h yn dirprwyo DNS y gyrchfan i'r proxy hwnnw. Cymerwch bwynt terfyn sy'n cyfateb o'r rhestr proxy SOCKS5 pan ganiateir profion ar wasanaethau cyhoeddus trwy gyfryngwyr cyhoeddus.

Gall polling lwyddo cyn i uwchraddiad WebSocket hwyrach fethu. Archwiliwch y ddau lwybr ac unrhyw transportOptions sy'n gwrthwneud yr asiant lefel uchaf.

Mae'r enghraifft yn defnyddio'r ddau gludydd hyn yn fwriadol. Mae WebTransport yn defnyddio gweithrediad arall, ac mae JavaScript sydd wedi'i blygu gyda'r porwr yn dilyn cyfluniad y porwr. Nid yw pwynt terfyn WebSocket plaen yn weinydd Socket.IO chwaith.

Cadwch y rhesymeg digwyddiadau ac ailgysylltu sydd eisoes yn bodoli, yna datgysylltwch y cleient a rhyddhewch ei asiant ar ôl i'r cysylltiadau orffen.

Erthyglau cysylltiedig