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

Użyj rzeczywistej usługi Socket.IO. Agent Node negocjuje SOCKS; socks5h przekazuje DNS celu temu proxy. Wybierz pasujący punkt końcowy z listy proxy SOCKS5, gdy dozwolone są testy usług publicznych przez publicznych pośredników.

Polling może się udać, zanim późniejsza aktualizacja do WebSocket zawiedzie. Sprawdź obie ścieżki i wszelkie transportOptions, które nadpisują agenta najwyższego poziomu.

Przykład celowo używa tych dwóch transportów. WebTransport korzysta z innej implementacji, a JavaScript dołączony do przeglądarki stosuje się do konfiguracji przeglądarki. Zwykły punkt końcowy WebSocket również nie jest serwerem Socket.IO.

Zachowaj istniejącą logikę zdarzeń i ponownego łączenia, następnie rozłącz klienta i zwolnij jego agenta po zakończeniu połączeń.

Powiązane artykuły