بسم الله الرحمن الرحيم
اود ان اسئل عن فكرة عمل برامج التحميل مثل GetRight and FlashGet التى تقوم بعمل الملف على هيئة قطع وتقوم بتنزيل كل واحدة على حدة الى ان ينتهى الملف
ما هى فكرة الدونلود المنفصل فى نفس الملف (بالكود ان امكن)
شكرا لكم :)
بسم الله الرحمن الرحيم
اود ان اسئل عن فكرة عمل برامج التحميل مثل GetRight and FlashGet التى تقوم بعمل الملف على هيئة قطع وتقوم بتنزيل كل واحدة على حدة الى ان ينتهى الملف
ما هى فكرة الدونلود المنفصل فى نفس الملف (بالكود ان امكن)
شكرا لكم :)
Nothing Beat the Human Brain
موبايل 020104927122
الموضوع بسيط (وليس فيه فكرة معينة)
كل ما في الامر انه يجب عليك ان تتعلم كيف تستخدم اوامر المكتبة winsock.h
:) تحياتي/ابوخلود
أعتقد أن الفكرة تكمن في تقطيع الملف إلى أجزاء ثم العمل على إنزالها معاً عن طريق استخدام Multi Thread من مكتبات الويندوز, هذا مجرد رأيي وليست بالضرورة هي فكرة البرنامج
أخ أبو خلود
هل معنى كلامك أن الأمر يتعلق بـ network programming ؟
وجزاك الله خيرا.
System Engineer
Red Hat Certified Engineer
Red Hat Certificate Number
805010381752078
في اعتقادي له علاقة وثيقة بال network programming ،، ربما الفكرة تقسيم البيانات الى حزم بحجم معين والبدء في تخزينها ..ما رأيكم ؟؟!!!
كما انه بالطبع يجب عليك قراءة بروتوكول ال HTTP وال FTP.
أو علي الاقل قراءة الجزء المخصص لعملية طلب الملفات.
الذي يظهر لي و الله أعلم ،
أن فكرة البرنامج هي تجزئة الملف إلى أكثر من جزء (أربعة أجزاء مثلاً) ثم تنزيل الملف على أنه أكثر من ملف (أربعة ملفات مثلا) .
مثال ملف حجمه 1000 كيلو بايت
يجزء إلى أربعة أجزاء كل جزء 250 كيلو بايت
ثم نحمل الجزء الأول من الملف من بايت رقم 1 إلى البايت رقم 250.000
و نحمل الجزء الثاني من الملف من بايت رقم 250.001 إلى البايت رقم 500.000
وهكذا .... نحمل جميع الأجزاء في وقت واحد .
فلو فرضنا أن سرعة التنزيل للملف الواحد هي 4 كيلوبت ..
فإننا سنكون حصلنا على سرعة تنزيل = 4 * 4 ملفات = 16 كليو بت
وتتم كل هذه العمليات عبر برتوكول HTTP أو FTP
والله أعلم
تم تعديل هذه المشاركة بواسطة MSVS في 26 فبراير 2005 في 11:39
أخي سوف تبكي عليك العيون * * * وتـسـأل عـنك دمـوع المـئـين
فإن جف دمعي سيبكي الغمام * * * يـرصـع قـبرك بــالـياسـمـيـن
أخـي مـا يـأسـنـا ولـن نيـأسـا * * * وما طال في القلب لبث الأسى
ومـا حـل أفــئــدة الــمــــؤمـن * * * سـوى أمـل في الـجنـان رسـى
أخي فانتظر ولتعش في غـد * * * سـيـنـبـثـق الأمـل الـسـرمـد
فـإن مـزقـتـنـا سني الــحـيـاة * * * فإنـا مع الـنصـر فـي مـوعــد
بصراحة يا شباب مش لاقي سبب للحيرة في كلامكم..
الموضوع ابسط من البساطة..
لنقل اننا نريد تنزيل ملف حجمه 1 ميجا ..
سيكون تسلسل الاحداث كالتالي..
يقوم البرنامج بقسمة حجم الملف الكلي (1 ميجا) علي 4.. يكون الناتج .25 لكل جزء.
يقوم البرنامج بارسال 4 طلبات من خلال البروتوكول المستخدم لدي الخادم (سواء اكان HTTP او FTP).
لذلك فلدينا اربع طلبات نوجهها للخادم :
1. طلب البيانات من البايت 0 وحتي البايت رقم 262144. (وذلك هو مقدار الربع ميجا)
2. طلب البيانات من البايت 262145 وحتي البايت 524289.
3. ... وهكذا
يقوم البرنامج بتخزين البيانات التي التي تصله من الخادم في ملف واحد او في اربعة ملفات (هذا امر يرجع للبرمج وتصوره اي اسلوب هو الافضل).
اود توضيح ان عملية طلب بيانات الملف من البايت رقم كذا.. الي البايت رقم كذا تتم من خلال ارسال اوامر معينة الي الخادم. وهذه الاوامر تكون مشروحة في بروتوكول ال HTTP او ال FTP.
كذلك هناك نقطة أخري.. وهي انه هناك بعض الخادمات لا تدعم هذه الميزة. لذلك فتجد احيانا ان البرامج مثل Download Accelerator يخبرك بأنه لا يمكن عمل resume لهذا الملف.
(وهذا يعني ان الخادم لا يدعم اوامر متابعة تنزيل الملفات).
الان.. عندما يرد برنامجنا تكملة تنزيل الملف.. يقوم برنامجنا بقياس عدد ال Bytes التي تم تنزيلها في كل جزء من الاجزاء الاربعة.. ثم يعيد توجيه طلباته للخادم حسب الضرورة ليكمل الاجزاء الناقصة كما هو موضح في الاعلي.
- عمرو
اقتباسبصراحة يا شباب مش لاقي سبب للحيرة في كلامكم..
أنا لاأجد أي حيرة فالردود كلها واحدة تقريباً كلها نفس الكلام
نعم كما ذكرتم , والتعقيد يزيد في برامج peer to peer بالطبع حيث الجلسات يمكن أن تنتهي فجأة وتدخل فجأة وتحدث دربكة , المهم العملية كل مافيها بريمج client Server يتفاهمان بطريقتهما الخاصة في برامج P2P , وفي وضع برامج التحميل ك GetRight أو accelerator يتم التعل بروتوكول HTTP أو FTP في الغالب بشرط وجود سيرفر يدعم تعدد الجلسات ولاأعرف تفاصيلها . لكنها موثقة وقد توجد في RFC .
Hazeim كتب:أنا لاأجد أي حيرة فالردود كلها واحدة تقريباً كلها نفس الكلام
تقبل اسفي اخي العزيز..
اخطأت في استخدامي كلمة حيرة.
انا فقط كنت اقصد ان البعض يستخدم كلمات مثل "اعتقد ان".. "في اعتقادي" .. "يظهر ان" ... مما يوحي بان فكرة البرنامج معقدة او ما شابه. ولكنها في الحقيقة بسيطة جدا. وهذا ما حاولت قوله.
تم تعديل هذه المشاركة بواسطة Chaos في 1 مارس 2005 في 04:55
هذا الموضوع مغلق.