Socket.IO an Node.js: benutzt en SOCKS-Agent fir Polling a WebSocket
Halt d'Socket.IO-Server-URL onverännert a prüf d'Override pro Transport, wann den Upgrade feelt.
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'],
});Benutz de richtegen Socket.IO-Service. Den Node-Agent handelt SOCKS aus; socks5h iwwergëtt d'DNS vum Zil un dee Proxy. Huelt en entspriechenden Endpunkt aus der SOCKS5-Proxy-Lëscht, wann Tester vu ëffentlechen Déngschter iwwer ëffentlech Vermëttler erlaabt sinn.
Polling kann een Erfolleg hunn, ier en spéideren WebSocket-Upgrade feelt. Prüft béid Weeër an all transportOptions, déi den Agent op der ieweschter Stuf iwwerschreiwen.
D'Beispill benotzt bewosst dës zwee Transporten. WebTransport benotzt eng aner Implementatioun, a JavaScript, dat mam Browser gebündelt ass, befollegt d'Konfiguratioun vum Browser. En einfachen WebSocket-Endpunkt ass och kee Socket.IO-Server.
Behält déi bestoend Event- an Neiverbindungslogik, trennt duerno de Client a gitt säin Agent fräi, wann d'Verbindungen eriwwer sinn.