سؤال

أقوم حاليًا بتطوير تطبيق ويب يحتوي على جزء حيث يجب علي فتح جهاز معين من خلال VNC لمراقبة سطح المكتب الخاص به.

مطلوب مني أن يكون لدي عميل VNC قائم على الويب، مما يعني أنه لا ينبغي تثبيت خادم أو أي ملف آخر من جانب العميل.يقوم العميل فقط بفتح متصفح الويب ويضع عنوان IP الخاص بالجهاز المستهدف لفتحه في المتصفح وبالتالي يقوم بتشغيل عميل VNC المستند إلى الويب.

ما هي الموارد الجيدة للبدء في هذا المجال؟

تحديث 2013-10-29

فقط لعِلمِكَ:في ذلك الوقت انتهى بي الأمر باستخدام guacamole كما أوصى @Dolph.
كان:

  • من السهل جدا لاقامة
  • من السهل جدًا اتباع الكود الخاص به وإجراء هندسة عكسية له (طالما أنك تعرف Java)
  • لا يزال يُستخدم في الشركة التي كنت أعمل بها وهو قوي
هل كانت مفيدة؟

المحلول

تفحص ال مشروع الجواكامولي:

الجواكامولي هو بوابة سطح المكتب البعيد بدون عميل.وهو يدعم البروتوكولات القياسية مثل VNC وRDP.نحن نسميها بلا عميل لأنه لا توجد حاجة إلى أي مكونات إضافية أو برامج عميل.بفضل HTML5، بمجرد تثبيت Guacamole على الخادم، كل ما تحتاجه للوصول إلى سطح المكتب الخاص بك هو متصفح الويب.

على الجانب السلبي، يتطلب الأمر وجود خادم Java للتوكيل من خلاله.ومع ذلك، يجب أن يكون هذا أمرًا تافهًا، حتى لو لم يكن لديك بالفعل خادم Java قيد التشغيل (برنامج Tomcat بسيط جدًا، و تعليمات الجواكامولي واضحة):

يتم تقسيم الجواكامولي إلى قطعتين:خادم guacamole، الذي يوفر وكيل guacd والمكتبات ذات الصلة، وعميل guacamole، الذي يوفر للعميل الخدمة بواسطة حاوية servlet الخاصة بك، عادةً هر.

يتوفر عميل guacamole في شكل ثنائي، ولكن يجب إنشاء خادم guacamole من المصدر.لا تثبط:إن بناء مكونات Guacamole من المصدر ليس بالأمر الصعب كما يبدو، وعملية البناء تتم تلقائيًا.كل ما عليك فعله هو التأكد من تثبيت الأدوات اللازمة مسبقًا.مع توفر التبعيات الضرورية، يستغرق بناء Guacamole بضع دقائق فقط.

نصائح أخرى

هناك حلول مختلفة، لكن لا يسمح لأي منهم بتطبيق Web Plain بنسبة 100٪ (I.E.E. لا فلاش أو Java أو ActiveX) للاتصال مباشرة بمحادثة VNC عادي 100٪. المشكلة الأكبر هي أن متصفحات الويب لا يمكن أن تجعل اتصالات TCP عادي. أقرب شيء هو معيار WebSockets غير المكتملة، ولكن حتى هذا هو بروتوكول مؤطر يحتوي على مصافحة مثل HTTP لبدء ذلك.

على الرغم من أن برامج Adobe Flash يمكن أن تجعل اتصالات TCP عادي، فإنها لا تزال تتطلب أن يكون الخادم الذي تتصل فيه بالإجابة مع ملف سياسة إما على المنفذ 843 أو المنفذ الذي تتصل به ( http://code.google.com/p/doctype/wiki/articleflashsecurity ).

كما لوحظ، يتطلب Guacamole وكيل Java للتواصل بين الواجهة القائمة على HTML5 الخاص بهم وخادم VNC.

خيار آخر هو novnc ( GitHub ) الذي يحتوي على تطبيق عميل VNC الكامل في JavaScript / HTML5 (على عكس Guacamole حيث يوجد بروتوكول VNC في الوكيل). ومع ذلك، لا يزال Novnc محدودا بحقيقة أن JavaScript لا يمكن أن تجعل اتصالات TCP واضحة. يستخدم Novnc WebSockets للاتصال بالخادم. يتضمن Novnc عبارة عن برنامج تشغيل عام على جسر TCP الذي يمكنك تشغيله على الخادم (أو العميل لهذه المسألة) وليس له تبعيات إضافية لتثبيتها.

تحديث : qemu، pocketvnc والمشاريع المستمدة من libvncserver يدعم الآن دعم خادم الويب المدمج حتى لا يلزم جسر WebSockify للتواصل مع Novnc. أيضا، نسيت أن أشير إلى إخلاء المسؤولية التي أنشأتها Novnc.

حاول textvnc.com.آخر مرة استخدمتها، يمكنك الإشارة إليها فقط في IP في الجهاز واستخدامها في متصفحك.

حاول Peervnc، وهذا عميل VNC المستند إلى الويب والدعم الوكيل إلى أي خادم VNC موجود.

href="https://github.com/instantweb2p/peer-vnc" rel="nofollow"> https://github.com/instantwebp2p/peer-vnc

ربما ستتعامل مع هذا الحل - http://www.onlinevnc.com ؟بقدر ما أستطيع أن أرى أنهم قد حلوا مشكلة أمان الفلاش عندما لا يمكن للفلاش إنشاء اتصال مباشر منفذ VNC TCP / IP. كما رأيت على موقع الويب الخاص بهم لدمج المشاهد في أي موقع أو تطبيق آخر.

بالإضافة إلى إجابة Dolph، هناك هذا، تطبيق Java للتطبيق للاتصال بخوادم VNC.

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