يستخدم تسجيل الدخول إلى FTP اتصال تحكم. وتحتاج قائمة الدليل أو التنزيل بعد ذلك إلى اتصال بيانات، وقد يفشل حتى مع نجاح تسجيل الدخول عبر SOCKS.

حدِّد أولاً الوضع السلبي أو النشط. في الوضع السلبي يفتح العميل اتصالاً جديداً إلى العنوان والمنفذ اللذين يوفرهما خادم FTP. ويحتاج ذلك الاتصال أيضاً إلى مسار البروكسي المقصود.

تكامل المقابس في Ruby

يوثِّق Net::FTP API في Ruby سلوك الاتصال والوضع السلبي. ويجب أن يغطي تكامل SOCKS إنشاء المقبس المستخدم في مساري التحكم والبيانات معاً؛ ولا يُهيِّئهما إعداد البروكسي في عميل HTTP في مكان آخر.

إذا كان التكامل يغيّر سلوك المقبس على مستوى عام، فراجع نطاقه بالنسبة للخيوط. لا يستطيع حاجز حول نقل واحد أن يعزل الخيوط الأخرى عن التغييرات في الحالة المشتركة.

قد يقدّم المزوّد نقطة نهاية ثابتة، لكن ذلك ميزة خدمة وليس متطلباً عاماً في SOCKS. وحيث يمكن أن تستخدم اتصالات منفصلة مخارج مختلفة، تحقّق من كيفية ربط خادم FTP اتصال بياناته باتصال التحكم الموثَّق.

سجّل المرحلة التي بلغتها والوضع ونقطة نهاية البيانات، مع إزالة بيانات الاعتماد. فهذا يميّز مسار البيانات المحجوب عن فشل تسجيل الدخول إلى البروكسي.

مقالات ذات صلة