2009-09-11 3 views
1

Я работаю над переносом приложения только для Windows в Linux и, в конечном счете, на Mac OSX. Часть этой программы - функция удаленного рабочего стола - вы можете разделить пространство на рабочем столе с несколькими клиентами. Сетевой протокол очень похож на протокол RDP. Оригинальный автор писал все с нуля. Он работает очень хорошо, но большие его части зависят от окон.библиотека для удаленного рабочего стола

Теперь, когда я портирования на нескольких платформах, я хотел бы избежать необходимости:

  1. Перепишите экрана захвата & сетевой код код протокола для Linux/X11, а затем снова Mac OS X.
  2. Проведите остаток своей естественной ошибки, исправляя и настраивая эти различные реализации.

Итак .. Я ищу библиотеку C++, которая выполняет эти биты для меня. В идеале мне нужна библиотека для обработки как сервера, так и работы на стороне клиента (I.e.- как захват экрана, так и код отображения).

Я смотрел на libVNC, который выглядит хорошо, за исключением того, что только серверная сторона, насколько я могу судить (единственная документация, которую я когда-либо находил, это файл README).

Мне не нравится, как выглядит сетевой протокол. Было бы неплохо, если бы я мог модифицировать библиотеку, чтобы обернуть протокол в моем собственном сетевом протоколе, но это приятная функция.

Может ли кто-нибудь предложить что-нибудь?

+0

Для клиентов VNC вы можете обратиться к источникам Vinagre (http://projects.gnome.org/vinagre/) –

ответ

2

Выберите межплатформенный клиент VNC с открытым исходным кодом, который вам нравится, и кооптировать его код обработки ввода, заменив биты VNC на ваш протокол.

Я не знаю какой-либо общей библиотеки для обработки клиентских задач VNC.

+1

К сожалению, вы правы - это, похоже, случай «сделай сам». Какая жалость ... Я ненавижу писать код ... – Thomi

+0

libvncserver.sourceforge.net - это хорошо 1, но это библиотека для создания vnc-сервера – jondinham