Различие между Сервисами RDP/Terminal и VNC Потоковая передача Методов

string.split ('/') помещает каждый «компонент» пути (или любую строку) в массив, разделяя их по разделителю (/ здесь). Вы могли бы затем пройти через это.

6
задан Brandon 12 February 2009 в 05:35
поделиться

2 ответа

Как Вы узнали, они оба довольно отличаются в способе, которым они передают изменение потоком. Протокол RDP от MS и расширение стандарта МСЭ (T.128), который может быть куплен онлайн.

RDP реализует много сохраняющих пропускную способность методов, что дополнение друг друга и делает ее очень эффективной по низкой пропускной способности.

VNC, с другой стороны, имеет очень простые методы сжатия: это отправит блоки битового массива, которые изменились и будут использовать основные типы сжатия от RLE до jpeg для передачи тех блоков эффективно.
К сожалению, это все еще довольно расточительно по низкой пропускной способности.

VNC в основном не знает о базовых графических примитивах, используемых для создания экрана. Это помогает использовать на любой машине, потому что она просто наблюдает изменения к экранному битовому массиву.
RDP, с другой стороны, сцепляется глубже в Windows API и может оптимизировать свое на основе потоков на минимальном объеме информации, необходимой для генерации того же обновления на клиенте.

Если Вы хотите интегрировать технические возможности удаленного рабочего стола, у Вас есть несколько вариантов:

  • для RDP можно использовать ActiveX, используемый для веб-удаленных технических возможностей. Можно хотеть взглянуть на обертку для интеграции его в собственное программное обеспечение.
    Если Вы хотите стать глубже в это существует исходный код, доступный для Linux rdesktop клиент, который действительно соединяется с машинами Windows через RDP.

  • для VNC существует много реализаций с открытым исходным кодом.
    Второй пилот FogCreek на самом деле использует один, и можно получить его источник, поскольку он основан на TightVNC

Существует также много проектов на CodeProject на RDP и VNC.

10
ответ дан 8 December 2019 в 17:28
поделиться

Как сказал Рено, VNC просто пересылает изменения битовой карты блок за блоком, не зная, что это за контент. RDP намного умнее.

Вы можете точно проверить, что делает RDP, из этих двух спецификаций:

Уровень протокола: http://msdn.microsoft.com/en-us/library/cc240445 (PROT.10) .aspx

Уровень графики: http://msdn.microsoft.com/en-us/library/cc241537 (PROT.10) .aspx

Я думаю, что наибольшую выгоду от RDP принесло:

  • Кэширование: клиент может хранить большое количество ранее увиденных блоков, и сервер может сказать клиенту, как их использовать. Кроме того, они являются постоянными, поэтому, когда клиент подключается к серверу, он уже был на нем, он может объявить, какие блоки у него есть на диске. Очень полезно при перемещении окон. Также многие части окон, такие как строка заголовка, одинаковы.

  • Рисование линий / блоков. Как вы уже догадались, в RDP есть операции для рисования линий, полигонов и прямоугольников. В окнах рисования они используются довольно часто.

  • Рисование шрифтов. У RDP есть способ посылать гильфы для шрифтов и указывать клиенту на их рендеринг.

  • Рендеринг курсора. Значки курсора отправляются в виде глифов. VNC просто использует точку

Это самые большие, которые приходят на ум.

4
ответ дан 8 December 2019 в 17:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: