Socket.IO i Node.js: bruk en SOCKS-agent for polling og WebSocket
La URL-en til Socket.IO-serveren være uendret, og sjekk overstyringene per transport hvis oppgraderingen feiler.
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'],
});Bruk den virkelige Socket.IO-tjenesten. Node-agenten forhandler SOCKS; socks5h overlater DNS-en til målet til den proxyen. Ta et passende endepunkt fra SOCKS5-proxyoversikten når tester av offentlige tjenester gjennom offentlige mellommenn er tillatt.
Polling kan lykkes før en senere WebSocket-oppgradering feiler. Sjekk begge veiene og alle transportOptions som overstyrer agenten på øverste nivå.
Eksempelet bruker med vilje disse to transportene. WebTransport bruker en annen implementasjon, og JavaScript som er pakket med nettleseren, følger nettleserens oppsett. Et vanlig WebSocket-endepunkt er heller ikke en Socket.IO-server.
Behold den eksisterende logikken for hendelser og gjenoppkobling, koble deretter fra klienten og slipp agenten når tilkoblingene er ferdige.