السلام عليكم ورحمة الله وبركاته:
هذه أول مشاركة لي في هذا المنتدى, وأرجو أن أجد لديكم الخير الفائدة
أبحث عن مساعدة في مايلي,
أريد أن انقل صورة سطح مكتب لجهاز A الى مجموعة من الأجهزة الأخرى
أتوقع أنه من الممكن الاستفادة من RMI كمايلي
يكون لدينا remote class على الجهاز A يعمل print screen بفترات دورية صغيرة ويضعها في image object , ويحوي هذا الصف remote methode تعيد نسخة من هذه الصورة.
على كل جهاز من الأجهزة الأخرى يتم استدعاء ال remote methode أيضا بفترات دورية وبالتالي تكون وصلت صورة سطح المكتب لكل الأجهزة ويتم عرضها على هذه الأجهزة
الآن و كمناقشة لفعالية هذه الطريقة في حال كان من الممكن تطبيقها, هذه الطريقة أظن أنها أسهل في التنفيذ ولكن أليس من الممكن أن تؤدي الى بطئ في نقل سطح المكتب للأجهزة الأخرى؟ لأن كل client يستدعي ال remote methode وبالتالي سيتم انشاء threade جديد من أجل كل client و جميع هذه الthreads تنقل نفس الصورة أي تقوم بنفس العمل تماما.
ما أريد أن أقوله انه أليس من الأفضلاستخدام socket بحيث نعمل print csreen على الجهاز A ثم يقوم threade واحد بأخذ هذه الصورة ويعمل لها multicasting باستخدام البروتوكول UDP و بالتالي نكون أرسلنا مرة واحدة ووفرنا ضغط على الشبكة؟
الآن ما أريده من الأخوة في هذا المنتدى - طبعا أصحاب الخبرة في هذا المجال - هو ابداء الرأي (المحاسن و المساوئ) لكل من الطريقتين و بعض التوجيهات من أجل تحقيق كل منهما -ان أمكن- اضافة الى السؤالين التاليين على اعتبار أنني جديد على الجافا:
1- في الطريقة الأولى ما هو ال api الذي يعمل print screen وما هو الصف المناسب لتخزين الصورة وعرضها على frame
2- في الطريقة الثانية و بعد أن قرأت عن ال socket استطعت أن أنقل text لكن ان أردت أن أنقل الصورة فهل سأحولها الىstream وأضعها في buffer ثم أعمل لها multicasting ؟ كيف أفعل ذلك؟.
في النهاية آسف لأني أطلت وأثقلت عليكم.
أخوكم محمد أمين_سوريا