Веб-клиент VNC?
В настоящее время я разрабатываю веб-приложение, в котором есть часть, где я должен открыть конкретную машину через VNC для мониторинга своего рабочего стола.
Мне нужен веб-клиент VNC, что означает, что он не должен устанавливать сервер или какой-либо другой файл на стороне клиента. Клиент просто открывает веб-браузер и помещает IP-адрес целевой машины в браузер и, таким образом, запускает веб-клиент VNC.
Каковы хорошие ресурсы для начала работы в этой области?
ОБНОВЛЕНИЕ 2013-10-29
Просто FYI: тогда я закончил использование guacamole, как рекомендовал @Dolph.
Это было:
- очень легко настроить
- очень легко следовать его коду и реконструировать его (пока вы знаете java)
- он по-прежнему используется в компании, для которой я работал, и является надежным
Ответы
Ответ 1
Просмотрите проект Guacamole:
Guacamole - это клиентский шлюз удаленного клиента. Он поддерживает стандартные протоколы, такие как VNC и RDP. Мы называем его "без клиентом", потому что не требуются плагины или клиентское программное обеспечение. Благодаря HTML5, когда Guacamole установлен на сервере, все, что вам нужно для доступа к вашим настольным компьютерам, - это веб-браузер.
В обратном направлении для него требуется прокси-сервер Java. Однако это должно быть тривиально, даже если у вас еще нет сервера Java и работает (Tomcat довольно прост и инструкции Guacamole просты):
Guacamole разделяется на две части: guacamole-сервер, который предоставляет прокси-сервер guacd и связанные с ним библиотеки, и guacamole-client, который предоставляет клиенту обслуживание вашего контейнера сервлета, обычно Tomcat.
guacamole-client доступен в двоичной форме, но guacamole-сервер должен быть построен из источника. Не обескураживайте: создание компонентов Guacamole из источника не так сложно, как кажется, и процесс сборки автоматизирован. Вам просто нужно быть уверенным, что у вас есть необходимые инструменты, установленные раньше времени. При наличии необходимых зависимостей строительство Гуакамоле займет всего несколько минут.
Ответ 2
Существуют различные решения, но ни один из них не позволит 100% -му простому веб-приложению (т.е. нет Flash, Java или ActiveX) напрямую подключаться к 100% -ному VNC-серверу. Самая большая проблема заключается в том, что веб-браузеры не могут выполнять простые 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 включает в себя общие WebSockets для TCP-моста, которые можно запускать на сервере (или на самом деле клиент), и у него нет дополнительных зависимостей для установки.
Обновление: QEMU, PocketVNC и проекты, полученные из LibVNCServer, теперь имеют встроенную поддержку сервера WebSocket, поэтому для соединения с noVNC мост websockify не нужен. Кроме того, я забыл отметить как отказ от ответственности, что я создал noVNC.
Ответ 3
Попробуйте tightVNC.com. В последний раз, когда я использовал его, вы могли просто указать его на IP-адрес машины и использовать его в своем браузере.
Ответ 4
попробуйте PeerVNC, этот веб-клиент vnc и прокси-сервер поддержки для любого существующего сервера VNC.
https://github.com/InstantWebP2P/peer-vnc
Ответ 5
Возможно, вы подойдете к этому решению - http://www.onlinevnc.com? Насколько я вижу, они решили проблему для Flash Security, когда Flash не может установить прямое подключение к порту TCP/IP VNC.
Также я увидел на их сайте предложение интегрировать средство просмотра на любом другом веб-сайте или приложении.
Ответ 6
В дополнение к ответу Dolph, this, Java-апплет для подключения к серверам VNC.