Я планирую разработать систему удаленного рабочего стола, состоящую из:
- Настольное приложение, которое может захватывать и отображать экран
- Сервер, который устанавливает одноранговые соединения, обслуживает методы обхода STUN/TURN NAT для одноранговых узлов.
- Веб-приложение (либо апплет Java, либо Silverlight), которое запускается из браузера и позволяет пользователю видеть/управлять удаленным рабочим столом.
Я хочу сказать, какой протокол кодирования лучше всего подходит для этой системы? Я отложил VNC, который является бинарным и недостаточным - мне нужно больше функциональности, т.е. Обход NAT. Он должен легко разрабатываться на C++ для настольных компьютеров и серверов и на Java/.NET для веб-приложений. Я думал о XML через HTTP (S), но мне интересно, как я могу эффективно кодировать двоичные данные, поскольку должен быть передан значительный объем двоичных данных (захваченные изображения рабочего стола, закодированные как bmp/jpgs и т. д.).
Любые подсказки?
Спасибо