ورود به FTP از یک اتصال کنترل استفاده می‌کند. سپس فهرست پوشه یا دانلود به اتصال داده نیاز دارد که می‌تواند حتی با موفقیت ورود از طریق SOCKS شکست بخورد.

نخست حالت غیرفعال یا فعال را مشخص کنید. در حالت غیرفعال کلاینت اتصال تازه‌ای به نشانی و پورتی که سرور FTP می‌دهد باز می‌کند. آن اتصال هم به مسیر پروکسی موردنظر نیاز دارد.

یکپارچه‌سازی سوکت در Ruby

Net::FTP API در Ruby رفتار اتصال و حالت غیرفعال را مستند می‌کند. یکپارچه‌سازی SOCKS باید ایجاد سوکتی را که هر دو مسیر کنترل و داده به کار می‌برند پوشش دهد؛ تنظیم پروکسی یک کلاینت HTTP در جای دیگر آن‌ها را پیکربندی نمی‌کند.

اگر یکپارچه‌سازی رفتار سوکت را به‌صورت سراسری تغییر می‌دهد، دامنه هم‌روندی آن را بررسی کنید. یک بلوک پیرامون یک انتقال نمی‌تواند رشته‌های دیگر را از تغییرات وضعیت مشترک جدا کند.

یک ارائه‌دهنده ممکن است نقطه پایانی ثابت ارائه کند، اما این ویژگی سرویس است نه الزام عمومی SOCKS. جایی که اتصال‌های جداگانه می‌توانند خروجی‌های متفاوت داشته باشند، بررسی کنید سرور FTP اتصال داده‌اش را چگونه به اتصال کنترل احراز‌شده نسبت می‌دهد.

مرحله رسیده، حالت و نقطه پایانی داده را بدون اطلاعات ورود ثبت کنید. این کار مسیر داده مسدود را از شکست ورود به پروکسی جدا می‌کند.

مقالات مرتبط