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

Користите праву Socket.IO услугу. Node агент преговара SOCKS; socks5h предаје DNS одредишта том проксију. Узмите одговарајућу крајњу тачку са списка SOCKS5 проксија када су дозвољени тестови јавних услуга преко јавних посредника.

Polling може успети пре него што каснија WebSocket надоградња не успе. Проверите оба пута и све transportOptions који замењују агента највишег нивоа.

Пример намерно користи ова два транспорта. WebTransport користи другу имплементацију, а JavaScript уграђен у прегледач прати конфигурацију прегледача. Ни обична WebSocket крајња тачка није Socket.IO сервер.

Задржите постојећу логику догађаја и поновног повезивања, затим одспојите клијента и ослободите његовог агента када се везе заврше.

Повезани чланци