ارتباطات UDP في SOCKS5 مع حزمة socks في Node
استخدم ارتباط SOCKS5 وتأطير مخططات البيانات عندما يحتاج تطبيق Node إلى UDP عبر وكيل.
تستخدم حزمة socks في Node نسخة SocksClient مع command: 'associate' من أجل UDP. أما مصنع SocksClient.createConnection() المريح فيتعامل مع TCP CONNECT بدلاً من ذلك.
مثال الارتباط في المشروع يجمع عميل SOCKS مع مقبس UDP محلي منفصل:
- أنشئ UDP ASSOCIATE واحتفظ باتصال TCP للتحكم الخاص به.
- اقرأ مضيف المرحّل ومنفذه اللذين يعيدهما الخادم.
- استخدم
createUDPFrame()لتأطير الحمولات الصادرة مع عنوان وجهتها. - أرسل مخططات البيانات إلى المرحّل، ثم استخدم
parseUDPFrame()على إطارات المرحّل الواردة قبل تسليم الحمولات إلى التطبيق.
يوفر مقبس dgram في Node نقل UDP؛ ولا يفسّر عنوان SOCKS. يوفر الارتباط والتأطير بروتوكول الوكيل حول مخططات البيانات هذه.
يجب أن يدعم الخادم UDP، ويجب أن تكون نقطة نهاية المرحّل قابلة للوصول. اتصال TCP ناجح بمنفذ الوكيل الأولي لا يختبر ذلك المسار. أغلق موارد التحكم وUDP عندما لا يعود الارتباط مطلوبًا.