„Socket.IO“ Node.js aplinkoje: naudokite SOCKS agentą polling ir WebSocket
Palikite Socket.IO serverio URL nepakeistą ir, jei naujinimas nepavyksta, patikrinkite kiekvieno transporto perrašymus.
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'],
});Naudokite tikrąją Socket.IO paslaugą. Node agentas derasi dėl SOCKS; socks5h perduoda paskirties DNS tam proxy. Paimkite atitinkamą galinį tašką iš SOCKS5 proxy sąrašo, kai leidžiama testuoti viešąsias paslaugas per viešuosius tarpininkus.
Polling gali pavykti prieš vėlesniam WebSocket naujinimui nepavykstant. Patikrinkite abu kelius ir bet kuriuos transportOptions, kurie perrašo aukščiausio lygio agentą.
Pavyzdyje sąmoningai naudojami šie du transportai. WebTransport naudoja kitą įgyvendinimą, o naršyklėje supakuotas JavaScript vadovaujasi naršyklės konfigūracija. Paprastas WebSocket galinis taškas taip pat nėra Socket.IO serveris.
Išsaugokite esamą įvykių ir prisijungimo iš naujo logiką, tada atjunkite klientą ir, pasibaigus ryšiams, atlaisvinkite jo agentą.