Socket.IO a Node.js-ben: használjon SOCKS-ügynököt a pollinghoz és a WebSockethez
Tartsa változatlanul a Socket.IO-kiszolgáló URL-jét, és ha a frissítés meghiúsul, vizsgálja meg a transzportonkénti felülírásokat.
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'],
});Használja a tényleges Socket.IO-szolgáltatást. A Node-ügynök SOCKS-t tárgyal; a socks5h a cél DNS-ét arra a proxyra bízza. Vegyen megfelelő végpontot a SOCKS5-proxy listáról, amikor nyilvános közvetítőkön keresztüli nyilvános szolgáltatástesztek engedélyezettek.
A polling sikerülhet, mielőtt egy későbbi WebSocket-frissítés meghiúsul. Vizsgálja meg mindkét útvonalat és minden transportOptions-t, amely felülírja a legfelső szintű ügynököt.
A példa szándékosan ezt a két transzportot használja. A WebTransport más implementációt használ, a böngészőbe csomagolt JavaScript pedig a böngésző konfigurációját követi. Egy egyszerű WebSocket-végpont szintén nem Socket.IO-kiszolgáló.
Tartsa meg a meglévő esemény- és újracsatlakozási logikát, majd bontsa a kapcsolatot az ügyféltől, és a kapcsolatok befejezése után engedje el az ügynökét.