السلام عليكم ورحمة الله وبعد ...........
انا الحين جالس اخطط وآخذ اقتراحات الناس حول الطريقة المثلى لتصميم برنامج Community (أي مثل كازا و WinMX) ولكن هدفه مش بس تبادل الملفات والشات لأ هو في الأساس منتدى لتصميم نظام عربي مفتوح الكود بس انا محتاج إلى افكاركم في الأشياء التالية ما استطعتم لكن قبلها راح أقول معلومات أولية عن وين وصل المشروع من ناحية التفكير :
1) المشروع حاليا حسب الخطة الحالية راح يكون جزئين رأيسيين طبعا برنامج السيرفر وبرنامج الكلينت او العميل.
2) برنامج السيرفر مهمته فقط حفظ عناوين الأي بي على الأنترنت للعملاء والمستخدمين وبث عمليات البحث والمعلومات المختلفة ألي تحتاج الوصول إلى كافة المستخدمين على الشبكة.
3) مهمة الكلينت هي انه يطلب عناوين الأي بي حق المستخدمين الآخرين والمعلومات الثانية تبع المنتدى من السيرفر على شان يقدر يتصل ويتبادل الملفات معاهم.
4) من المستحيل استخدام ال multicast أو broadcast أو unicast على الأنترنت والبروتوكل الي رايح يستخدم هو ال TCP/IP.
المواضيع الي تحتاج حلول:
1) كيفية توزيع أحمال السيرفر على المستخدمين نفسهم خاصة الي عندهم سرعة أتصال في الأنترنت والشبكة سريعة بحيث لا يطر السيرفر إلى تزويد كل عميل جديد بعناوين الأي بي لجميع المستخدمين الثانين لأن بطأ رهيب خصوصا مع ازدياد عدد مستخدمي البرنامج فيعمل السيرفر على تزويد عناوين العملاء الي عدهم اتصال سريع بالشبكة حتى يقوموا هم بعملية السيرفر لمجموعه صغيره من المستخدمين لتوزيع الحمل كذلك.
2) عملية بث الأشياء الي تحتاج إلى وصول لجميع المستخدمين مثل البحث عن الملفات.
3) عملية تنظيم الأتصالات هدي ما بين العميل والسيرفر والعملاء الي راح يكونوا مثل السيرفر لأنك ما تقدر تضمن وجود العملاء الي مثل السيرفر على الشبكة على طول وللأبد مثل السيرفر حقك.
وهذي البداية وارجوا تعاون من الجميع في هذا الموضوع وإن شاء الله راح أفتح هذا المشروع للمشاركة فيه والي يحب يشاركني يقولي هنا ولما يخلص المشروع راح تتفضلوا عليي إن شاء الله بتجربته لول :) مع السلامة وبالتوفيق