Socket.IO en Node.js: uzu SOCKS-agenton por polling kaj WebSocket
Konservu la URL de la Socket.IO-servilo senŝanĝa kaj kontrolu la anstataŭigojn laŭ transporto se la ĝisdatigo malsukcesas.
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'],
});Uzu la veran Socket.IO-servon. La Node-agento intertraktas SOCKS; socks5h transdonas la DNS de la celo al tiu prokuraĵo. Prenu konforman finpunkton el la listo de SOCKS5-prokuraĵoj kiam testoj de publikaj servoj per publikaj perantoj estas permesataj.
Polling povas sukcesi antaŭ ol posta WebSocket-ĝisdatigo malsukcesas. Kontrolu ambaŭ vojojn kaj ĉiujn transportOptions, kiuj anstataŭigas la supran agenton.
La ekzemplo intence uzas tiujn du transportojn. WebTransport uzas alian efektivigon, kaj JavaScript enmetita en la retumilo sekvas la agordon de la retumilo. Ankaŭ simpla WebSocket-finpunkto ne estas Socket.IO-servilo.
Konservu la ekzistantan logikon pri eventoj kaj rekonekto, poste malkonektu la klienton kaj liberigu ĝian agenton kiam la konektoj finiĝos.