سؤال

أنا بناء تطبيق يحتاج إلى استخدام خادم ويب مثل نظام الملفات. على وجه التحديد، سيكون الحل المثالي:

  • مكون جانبي الخادم الذي سيسمح، عبر HTTP، الافتتاح (قفل)، والقراءة والكتابة والبحث عن ملف واحد اقتطاع ومتاجر. أحتاج أن أكون قادرا على قفل ملفات متعددة في وقت واحد. أحتاج إلى تشغيل هذا على أي من الويب القياسي الذي يستضيفه هناك، لذلك يجب تشغيله أعلى IIS أو Apache، باستخدام البرمجة النصية الجانبية للخادم (خدمات الويب، PHP، إلخ)
  • واجهة العميل لهذا أنني تسلمها URI، ويتم فتحها وتتصرف تماما مثل ملف. تطبيق عميل الخاص بي موجود في .NET، لذلك من الناحية المثالية، سينفذ API العميل فرعية Filesteam.

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

أسئلتي:

  • هل يوجد شيء من هذا القبيل؟
  • إذا لم يكن كذلك، لماذا لا؟ هل هذا لا يبدو وكأنه خدمة مفيدة للغاية؟

يبدو أن هذا المكون سوف يسمح لي باستخدام أي شركة استضافة ويب بها كخادم ملفات الشبكة. هذا يبدو مفيدا، لا؟

شكرا لمساعدتك!

إريك

هل كانت مفيدة؟

المحلول

يبدو ما تبحث عنه هو WebDAV. الخادم.

نصائح أخرى

نسخة طويلة
تم تصميم مضيفات الويب في الأصل لإرسال المحتوى للمستخدم Tothe في اتصال فردي. مفهوم الدورات بأكمله هو ظاهرة حديثة نسبيا (الكلمة الرئيسية: نسبيا) - معظمها هي مجرد طرق لتتبع الاتصالات الفردية من نفس المستخدم. في كثير من الأحيان من لا، فقط إعطاء انطباع أنك لا تزال متصلا بالخادم، عندما تكون في الواقع الذي قمت بتوصيله، قمت بتنزيله، غير متصل به - ويفعل نفس الاتصال / التنزيل / قطع الاتصال في كل مرة تأخذ فيها إجراء.

أشياء مثل WebDAV هي إضافات تكليف على مربع الحوار القياسي HTTP والتي تسمح برامج مصممة خصيصا للحصول على اتصال أكثر تعقيدا عبر HTTP إلى خادم. الاستخدام الشائع للغاية ل WebDAV هو التخريب، ical (دعم التقويم)، إلخ - تسمح هذه اتصال واحد تحميل البيانات.

ما تتحدث عنه هو وجود خدمة نظام الملفات المستندة إلى الجلسة. في حين أنه يبدو أنه سيكون خدمة جيدة، أظن أنه لم ينفذ بسبب التعقيد الشديد والخطر تفوق الفوائد. على سبيل المثال، لا داعي للقلق مثل هذه الخدمة حول مشكلات النظام القياسية (أذونات الملفات، أذونات الملفات، قفل، مهلة، إلخ)، ولكن الآن ما يدعو للقلق بشأن تعقيدات الوجود على الويب (المصادقة، تتبع الدورة، قطع الاتصال، وإعادة الهجمات، DDOS، إلخ). على سبيل المثال، ماذا يحدث إذا قام العميل بإغلاق ملف ثم يقع دون اتصال بالإنترنت؟ هل يبقى الملف مغلقا حتى إعادة تشغيل الخادم؟ إذا لم يكن الأمر كذلك، متى تقوم بإلغاء تأمين الملف تلقائيا؟ ما يحدث إذا كان المشغلات التلقائية إلغاء القفل والخزانة الأصلية يعود عبر الإنترنت؟ هل تجبر كل شيء يجب القيام به في اتصال واحد للتعويض؟ ماذا يحدث إذا انفصلوا عن قطع الاتصال في منتصف الجلسة؟

هم ولكن بعض الأشياء التي يجب أن تقلق بشأنها. لقد بدأت أطول بكثير مما قصدت به، لكن خلاصة القول هي أن ...

نسخة مختصرة
يمكنك بالتأكيد استخدام WebDAV لتنفيذ هذا، والذي سيتطلب منك إنشاء مكتبة جانب الخادم. ومع ذلك، في حين ليس من المستحيل، فأنت في عالم من الأذى كما هو مصمم. أقترح تبسيط التصميم حتى لا تحتاج إلى التصرف مثل نظام الملفات كثيرا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top