извлечь холст из vnc viewer

Кто-нибудь сталкивался с работой или даже созданием/созданием vnc canvas viewer? Я задавал аналогичный вопрос некоторое время назад, но ответа не было. :(

Что мне (действительно) нужно, так это извлечь холст из средства просмотра (например, ThinVNC), которое отображает виртуальную машину, или попытаться создать ее. Мне нужно встроить виртуальную машину как часть веб-страницы.

Например,

Я могу использовать iFrame, но не могу клонировать холст, отображающий виртуальную машину из этого iFrame. Я пробовал с vnc.js, но у меня проблемы с sockets.io. OnlineVNC хорош, но он основан на Flash (ранее я использовал FlashVNC), и мое новое приложение больше не поддерживает Flash.

Любые советы о том, как извлечь/скопировать/клонировать холст vnc, будут ценны!

Спасибо всем заранее!


person 30114    schedule 28.05.2013    source источник


Ответы (1)


Да, я сделал это. Проблема в том, что VNC работает через необработанные сокеты TCP, которые недоступны в стандартном JavaScript — все, что у вас есть, это WebSockets, которые накладывают дополнительный уровень на сокет TCP, что делает его несовместимым со стандартными серверами VNC.

Ваши варианты:

  • Ограничьте себя средами JavaScript, которые предлагают настоящие сокеты TCP, например. эмулируется с помощью Flash.
  • Используйте сервер VNC, который изначально поддерживает WebSockets. У некоторых из них могут быть недокументированные варианты для этого...
  • Используйте шлюз WebSockets-to-TCP. Вот что они сделали с vnc.js.

Как только вы поймете, как заставить работать сокеты, вы можете добиться большего успеха с vnc.js или написать свой собственный. (Я использовал emscripten для переноса кодовой базы SDK средства просмотра C/C++ VNC на JavaScript, а затем написал слой холста на К сожалению, это закрытый исходный код, поэтому я не могу поделиться им с вами, но, вероятно, в любом случае проще начать с vnc.js.

person Adrian Taylor    schedule 30.05.2013