الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

Remote Desktop Sharing and Control [Open Source] GPL

بدأه cIs.Falcon في 13 مارس 2010 · 12 رد · 1,714 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

سلام عليكم

Remote Desktop Sharing and Control

another Remote Desktop Applcation written in [Java RMI]_no socket programming

النسخه المتاحه حاليا للمطورين فقط ،، الأبلكيشن شغال لكن لا يعتمد عليه بشكل نهائي لان في تحسينات كتير محتاجها الأبلكيشن .

ربما في يوم من الأيام ينافس البرامج الأخري في المجال دا .

Features..

1 – Remote Desktop Sharing [broadCast Only]

2 – Remote Desktop Control [specific Client]

3 – Send Files Over the Network [specific Client/s, BroadCast ]___@ Maximum 2GB for Sharing per Time

Accoaring to RMIIO Lib Standards

4 – Send TextMessage [spcific Client Only]

5 – works under linux/windows till now

6 - نظرياً ( يمكن المشاركه من خارج الشبكة المحلية في حال وجود real ip )

7 – نظرياً ( يمكن مشاركة عدة clients من أنظمة تشغيل مختلفه ) ودي النقطه المحورية اللي ممكن البرنامج ينافس بيها برامج تانية في المجال دا لان معتقدش ان في برامج تانية كدا (مش متأكد ) __ مش بس ويندوز لويندوز أو لينوكس لـلينوكس ،، ممكن واحد ويندوز والتاني لينوكس في حال ان اللي بيعمل share لجهازه شغال علي ماك )

_________________________________

الأبلكيشن زي ما ذكرت فوق مكتوب بالجافا .. RMI Technology .. وهي مبنيه بالفعل علي الـ Socket Programming

وهي لعمل Distribute Systems

وهي عباره عن تقنيه قائمه علي مفهوم الـ RPC - Remote Procedure Call

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

131246171.jpg

طيب أزاي انا هيبقي معايا أوبجيكت من الكلاس Player دي الموجوده علي جهاز تاني خالص ؟؟ دا شغل الـ RMI

ملحوظة : الـتعامل كله بيبقي من خلال مفهوم الـ IDL ...

Interface Defination Language

يعني بتكلم مع الجهاز التاني عن طريق Interfaces وليس الكلاسس مباشرة .

تقدر تقول بشكل أبسط ،، ان الـ RMI Apps بتتكتب بطريقه معينه لا تستطيع ان تحيد عنها .

_________________________________

يعني الصورة السابقه تصبح كذلك ..

216260857.png

_________________________________

الـ RMI تقنيه جميله جدا ولكنها للجافا فقط ،، علي عكس الـ CORBA وهي تقنيه اخري تدعم مفهوم الـ RPC ولكن يمكن من خلالها أبلكيشنز مختلفه مكتوبه بلغات مختلفه انها تكلم بعضها ( سي شارب يكلم جافا يكلم سي بلس بلس ) وهكذا

كذلك الـ web services

انصح كل من لا يعلم عنها شئ بتعلمها ،، مبرمجي الـ .Net يمكنهم البحث عن .Net Remoting

وكمان في أجزاء من الكود مستخدمه بنمط معين بشكل ملحوظ ،، الأجزاء دي مطبقه بالـ Callback Design Pattern

_________________________________

مـكتبات ..

في الأبلكيشن دا .. اعتمدت علي مكتبة RMI-IO في إرسال الملفات وهي جميله جدا ولكن عند استخدمها هتكره اليوم اللي اتعلمت فيه RMI ولكن مع الـ FAQ الخاصه بالمكتبة هتلاقي حلول لجميع المشاكل اللي هتقابلك ان شاء الله .. نصيحه لمن ينوي استخدامها قبل كتابة كود واحد لابد ان تقرأ الصفحات الآتيه لأن فيه مشاكل لازم هتقابلك فحلولها كلها موجوده بالفعل + كمان المكتبة لها Dependacies علي مكتبات تانية

الصفحه الرئيسيه http://openhms.sourceforge.net/

FAQ .. http://openhms.sourceforge.net/rmiio/faq.html

+

Lib Dependancies

http://openhms.sourceforge.net/rmiio/dependencies.html

_________________________________

مشاكل

1 - في اللينوكس عند تشغيل البرنامج وتسجيل الديسكتوب في وجود الـ Avant Window Navigator ، أو البرامج المشابهه

الجزء اللي تحت خالص من الديسكتوب دا بيبان بشكل اسود او لون مختلف عن الخلفيه

2 – عملية تسجيل الديسكتوب ثم ارسال الصورة عبر الشبكة ومن ثم عرضها في الويندو الخاصه بها ،، في كل مرة ترسم فيها الصورة الجديده المرسله ، الويندو بيتعملها focusing بالتالي لو انت فاتح الويندو وجيت تعمل أي عمليه خارج الويندو هتلاقي كل شوية الويندو بتاخد الـ focus من العمليه اللي انت بتعملها خارج الويندو بالتالي مش هتعرف تعمل حاجة

3 - عملية تسجيل الديسكتوب ثم ارسالها عملية مرهقه بالنسبة للجهاز البروسيسور والرامات ،، ثانيا بالنسبة للشبكة بيبقي الضغط عليها عالي لان مفيش ألجوريزم مستخدم في العمليه دي كل ثانيه او ثانيتين او حتي نصف ثانيه بيتبعت صورة عبر الشبكة لجميع الـ clients

بالتالي هي عمليه مرهقه .. كان فيه اكتر من اقتراح لهذه العمليه وهو ارسال الـ pixels المختلفه فقط في الصورة الحاليه عن الصورة السابقه ،، ولكن من الممكن عملية حساب الـ pixels المختلفه هذه قد تاخذ وقت اطول من الثانيه ،، وأخر وهو عمل compress للصورة باحدي ألجوريزمات الضغط

ربما تحتاج النقطة دي مجهود أكثر بحيث يصبح البرنامج أكثر كفاءة ..

_________________________________

أخيراً .. الكود

دا صفحة البرنامج ... http://sourceforge.net/projects/rdsc/

ودا الكود موجود هنا لينك للـ svn repository

https://sourceforge.net/projects/rdsc/develop

واللي عاوز يشارك في الـ development بيسجل في الـ source forge وبيبعت لي عاليمين في اللينك اللي فات دا

Send a request to join this project

ودا فيديو بيوضح البرنامج والـ features اللي فيه

Part1

https://sourceforge.net/projects/rdsc/files/Project%20Utilities/RDSC_video_.zip.001/download

part2

https://sourceforge.net/projects/rdsc/files/Project%20Utilities/RDSC_video_.zip.002/download

ممكن اللي مش هيشارك في التطوير وعنده اي ملحوظات يشوف الفيديو ويقول اللي عاوزه ،، الملف جزئين بتحملهم الاتنين وتفك الضغط لهم مع بعض عشان ينتج الملف الأصلي

وشكراً.

سلام عليكم

1

صــفــر

#2

انتوا فين يا شباب ؟

صــفــر

#3

لم أجربها لأني لا أعرف شيئا في ال RMI :blush:

#4

خسارة أستاذ عصام ،، كنت أتمني ان تشارك في هذا المشروع ..

عموماً لو عندك أي ملاحظات او حتي اقتراحات أكون ممنون :)

ومنتظر باقي الأخوة .. فان لم يشارك احد في هذا المنتدي فمن سيشارك :lol: !!

صــفــر

#5

أتمنى لو أجد وقتاً للمشاركة في المشروع

على العموم لدي ملاحظة سريعة لاحظتها من العرض الذي رأيته

عملية نقل الملفات لا تظهر إلى أي حد وصل المستند في عملية النقل وهو شيء سي جداً على المستخدم

لم أرى في العرض أنك قمت بالتحكم بسطح المكتب الخاص بك بمعنى لم أرى أنك ضغطت في مكان ما

أخيراً يا محمد كتابتك بالعامية المصرية جعلني لا أقرأ الموضوع :(

أتمنى لك التوفيق

ولو ظل هناك مكان خالي للبرمجة حتى الصيف القادم سأشارك بإذن الله

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#6

أستاذ علاء

مرحباً مرحباً :D

بداية شكراً لمرورك

#################

بالنسبة لـ عملية نقل الملفات .. هذه في الخطة القادمه ان شاء الله

لو لاحظت في العرض .. بعد الضغط علي button الـ start sharing

ظهرت Panel فارغه .. في الحقيقه هذه من المفروض انها ستكون مسئوله عن تحديد كم من البيانات وصل عند الطرف الاخر

شكراً لتنبيهك وملاحظتك الجيده :)

أما بالنسبة للكتابة بالعاميه .. فاعذرني فكانت كتابتي للموضوع قبل الفجر بساعة وكان بيني وبين النوم صراع :lol:

ساحاول ان التزم بها ان شاء الله

بالمناسبة أسمي محمود ليس محمد :wub:

شكراً جدا أستاذ علاء وان شاء الله في انتظار مشاركتك في المشروع في الصيف ان شاء الله :happy:

صــفــر

#7

عفواً نسيت أرد علي النقطة المتعلقه بالتحكم

المشكلة ان الـ clients اللي ظاهرين في العرض علي نفس الجهاز

لو دققت جيدا في العرض ستلاحظ في موضوع التحكم ،، انني كلما حركت الماوس لداخل البانل ،، تجده يهرب سريعا الي مكان ( x, y ) الماوس عن الكلاينت الأول

فهذه هي المشكلة انهم علي نفس الجهاز ..

أرجو ان تكون وضحت :cool:

صــفــر

#8

جميل جداً أخ محمود (يهيألي أني قرأت الاسم محمد في البرنامج)

طيب بما أنك عملت على RMI-IO هل يمكنك أن تعطي الخطوط العامة للتعامل مع هذه الحزمة

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9

حاضر أستاذ علاء ،، ان شاء الله سأقوم بعمل موضوع منفصل فقط أمهلني بعض الوقت :)

صــفــر

#10

Focusing Problem has been fixid !!

سبحان الله لأن الواحد لا يحاول فقط اذا كان يوجد حل أم لا ،، فيترك المشكلة أعوذ بالله من الكسل

بالرغم من اني كنت متاكد مية بالمية انه يوجد حل وبنسبة كبيرة يتمثل في خاصية او function الا اني كنت كسلان

شغال في حاجة تانية خالص ،، واذ فجأة شوفت property اسمها focusable بـ true او false ،، وهي الحل !! :blush:

صــفــر

#11

صدقني يا محمود لم أفهم أي كلمة :)

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#12

:lol:

أقصد من هذا الكلام كله ،، ان مشكلة الـ Focus ( المشكلة رقم 2 في المشاركة الأساسيه ) تم التوصل لحل لها

عن طريق method

setFocusable(false);

للأسف الفصحي عندنا مهمله او نادرة الاستخدام لذلك من الصعب الكتابة به بطلاقه !! :unsure:

علي كلِ أتمني ان تكون مفهومه هذه المرة :)

تم تعديل هذه المشاركة بواسطة cIs.Falcon في 17 مارس 2010 في 22:48

صــفــر

#13

الموضوع يأتي بالتعود

في الماضي أول ما دخلت هذا المنتدى كنت متضايق من أسلوب الكتابة هنا

لكني ومع التعود وجدت أني يصعب علي الكتابة بغير الفصحى

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

مواضيع مشابهة