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

Gebruik die werklike Socket.IO-diens. Die Node-agent onderhandel SOCKS; socks5h dra die DNS van die bestemming aan daardie proxy oor. Gebruik 'n passende eindpunt uit die SOCKS5-proxylys wanneer toetse teen openbare dienste deur openbare tussengangers toegelaat word.

Polling kan slaag voordat 'n latere WebSocket-opgradering misluk. Ondersoek albei paaie en enige transportOptions wat die agent op die hoogste vlak oorheers.

Die voorbeeld gebruik doelbewus hierdie twee transporte. WebTransport gebruik 'n ander implementering, en JavaScript wat saam met die blaaier gebundel word, volg die blaaier se konfigurasie. 'n Gewone WebSocket-eindpunt is ook nie 'n Socket.IO-bediener nie.

Behou die bestaande gebeurtenis- en herverbindingslogika, ontkoppel dan die kliënt en laat sy agent los nadat die verbindings klaar is.

Verwante artikels