Socket.IO në Node.js: përdorni një agjent SOCKS për polling dhe WebSocket
Mbajeni URL-në e serverit Socket.IO të pandryshuar dhe kontrolloni zëvendësimet për çdo transport nëse përditësimi dështon.
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'],
});Përdorni shërbimin e vërtetë Socket.IO. Agjenti Node negocion SOCKS; socks5h ia delegon DNS-në e destinacionit atij proxy. Merrni një pikë fundore përkatëse nga lista e proxy-ve SOCKS5 kur lejohen testet e shërbimeve publike përmes ndërmjetësve publikë.
Polling mund të ketë sukses para se një përditësim i mëvonshëm në WebSocket të dështojë. Kontrolloni të dy rrugët dhe çdo transportOptions që zëvendëson agjentin e nivelit të sipërm.
Shembulli përdor qëllimisht këto dy transportime. WebTransport përdor një implementim tjetër dhe JavaScript-i i paketuar me shfletuesin ndjek konfigurimin e shfletuesit. As një pikë fundore e thjeshtë WebSocket nuk është server Socket.IO.
Ruani logjikën ekzistuese të ngjarjeve dhe të rilidhjes, pastaj shkëputni klientin dhe lëshoni agjentin e tij kur lidhjet përfundojnë.