Socket.IO v Node.js: uporabite agenta SOCKS za polling in WebSocket
Ohranite URL strežnika Socket.IO nespremenjen in preverite prepise po transportu, če posodobitev 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'],
});Uporabite pravo storitev Socket.IO. Agent Node se pogaja za SOCKS; socks5h preda DNS cilja temu proxyju. Vzemite ustrezno končno točko s seznama proxyjev SOCKS5, ko so testi javnih storitev prek javnih posrednikov dovoljeni.
Polling lahko uspe, preden poznejša posodobitev na WebSocket ne uspe. Preverite obe poti in vse transportOptions, ki prepišejo agenta najvišje ravni.
Primer namenoma uporablja ta dva transporta. WebTransport uporablja drugo izvedbo, JavaScript, vključen v brskalnik, pa sledi konfiguraciji brskalnika. Tudi navadna končna točka WebSocket ni strežnik Socket.IO.
Ohranite obstoječo logiko dogodkov in ponovnega povezovanja, nato prekinite povezavo s klientom in sprostite njegovega agenta, ko se povezave končajo.