2013-05-28 3 views
0

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

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

Например,

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

Любые советы по извлечению/копированию/клонированию vnc canvas будут полезны!

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

ответ

0

Да, я сделал это. Проблема в том, что 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.