Home تقنية بروتوكول نقل الملفات المنبع | itg-ar.com

بروتوكول نقل الملفات المنبع | itg-ar.com

3
0
بروتوكول نقل الملفات المنبع
| itg-ar.com

بروتوكول نقل الملفات المنبع

@fberrez1 مرحبًا! شكرا على الأسئلة العظيمة. لقد وصلت بالضبط إلى نقاط الألم التي شرعنا في حلها باستخدام Upstream. إليك كيفية التعامل مع حالات FTPedge “السريعة” والصعبة الموجودة أسفل الغطاء:1. من أين يأتي “السريع”؟ • نقل SwiftNIO: بدلاً من تغليف مكتبات C القديمة (مثل libcurl) أو استخدام مقابس الحظر، تم إنشاء Upstream أعلى SwiftNIO من Apple (نفس إطار عمل الشبكة عالي الأداء والمبني على الأحداث وغير المحظور المستخدم في Swift على الخادم). • عزل التصفح والنقل: نقوم بفصل تصفح الدليل عن عمليات نقل الملفات. يتم تشغيل عمليات النقل على مجموعة اتصال متزامنة مخصصة (تتم إدارتها عبر SwiftConcurrency Actors)، مما يضمن أن يظل عارض الدليل مستجيبًا تمامًا وخاليًا من التأخير حتى أثناء التحميل/التنزيلات متعددة الجيجابايت. تحليل الخلفية وعرض SwiftUI: يتم فرز الدليل وتصفيته وتحليله بالكامل على الجهات الفاعلة في الخلفية قبل تحديث جدول SwiftUI بمعرفات مستقرة، وتجنب تجميد الموضوع الرئيسي.2. تفاوض PASV الذكي (NAT وIPv6) • تخطئ العديد من الخوادم الموجودة خلف NAT في تكوين إعداداتها السلبية وتعيد عناوين IP الخاصة أو عناوين الاسترجاع غير القابلة للتوجيه (مثل 192.168.xx أو 127.0.0.1) أثناء PASVhandshake. يتحقق المنبع من ذلك بشكل صريح ويتجاوزه تلقائيًا، ويعود لإعادة استخدام مضيف اتصال التحكم (والذي يضمن عدم إمكانية توجيهه). • في اتصالات IPv6، يتحول تلقائيًا إلى EPSV (المبني السلبي الموسع، RFC 2428) للتفاوض على المنفذ فقط، مما يمنع توقف التفاوض السلبي. تنسيقات قائمة الدليل يستعلم المنبع عن ميزات الخادم (FEAT) ويعطي الأولوية لـ MLSD (RFC 3659) للتنسيق القياسي الذي يمكن قراءته آليًا. إذا لم يكن MLSD مدعومًا، فإننا نعود إلى محلل UNIX LIST (ls -l) المخصص والخالي من التعبيرات المنطقية والذي يتحمل تباعد الأعمدة غير المنتظم وتنسيقات التاريخ المترجمة وأنماط الارتباط الرمزي. لا يوجد فشل صامت – نستخدم مهلة اتصال صارمة مدتها 15 ثانية على كل من قنوات التحكم والبيانات للفشل بسرعة بدلاً من التعليق إلى الأبد. – يتم نقل كل أمر واستجابة إلى وحدة التحكم / سجل الرسائل المباشر (على غرار FileZilla) في الجزء السفلي من الشاشة. إذا فشل خادم قديم في التفاوض، فلن تترك مجالًا للتخمين — يمكنك فحص سجلات البروتوكول الأولية ورموز خطأ FTP الدقيقة في الوقت الفعلي. جربه وأخبرنا كيف يتعامل مع أصعب اتصالات الخادم لديك!


تم النشر: 2026-06-26 09:29:00

مصدر: www.producthunt.com