Socket.IO u Node.js: koristite SOCKS agent za polling i WebSocket
Zadržite URL Socket.IO servera nepromenjenim i proverite zamene po transportu ako nadogradnja ne uspe.
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'],
});Koristite stvarnu Socket.IO uslugu. Node agent pregovara SOCKS; socks5h predaje DNS odredišta tom proxyju. Uzmite odgovarajuću krajnju tačku iz liste SOCKS5 proxyja kada su dozvoljeni testovi javnih usluga preko javnih posrednika.
Polling može uspeti pre nego što kasnija WebSocket nadogradnja ne uspe. Proverite oba puta i sve transportOptions koji zamenjuju agent na najvišem nivou.
Primer namerno koristi ova dva transporta. WebTransport koristi drugu implementaciju, a JavaScript ugrađen u pregledač prati konfiguraciju pregledača. Ni obična WebSocket krajnja tačka nije Socket.IO server.
Zadržite postojeću logiku događaja i ponovnog povezivanja, zatim odspojite klijenta i oslobodite njegov agent kada se veze završe.