Socket.IO في Node.js: استخدم وكيل SOCKS للاستقصاء وWebSocket
أبقِ عنوان خادم 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 عندما يُسمح باختبار الخدمات العامة عبر وسطاء عامين.
قد ينجح الاستقصاء قبل أن تفشل ترقية WebSocket اللاحقة. افحص المسارين وأي transportOptions يتجاوز الوكيل الأعلى مستوى.
يستخدم المثال هذين النقلين عن قصد. يعتمد WebTransport على تنفيذ آخر، وجافاسكريبت المضمّن في المتصفح يتبع إعدادات المتصفح. كما أن نقطة نهاية WebSocket العادية ليست خادم Socket.IO.
أبقِ منطق الأحداث وإعادة الاتصال القائم، ثم افصل العميل وحرّر وكيله بعد انتهاء الاتصالات.