Socket.IO в Node.js: използвайте SOCKS агент за polling и WebSocket
Запазете URL адреса на Socket.IO сървъра и проверете заместванията по транспорт, ако надграждането се провали.
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'],
});Използвайте действителната услуга Socket.IO. Node агентът договаря SOCKS; socks5h предава DNS на дестинацията към този прокси. Вземете подходяща крайна точка от списъка с SOCKS5 проксита, когато тестовете на публични услуги през публични посредници са разрешени.
Polling може да успее, преди по-късно надграждане до WebSocket да се провали. Проверете и двата пътя и всички transportOptions, които заместват агента на най-горно ниво.
Примерът умишлено използва тези два транспорта. WebTransport използва друга реализация, а JavaScript, вграден в браузъра, следва конфигурацията на браузъра. Обикновена крайна точка WebSocket също не е Socket.IO сървър.
Запазете съществуващата логика за събития и повторно свързване, след което прекъснете клиента и освободете агента му, когато връзките приключат.