У TightVNC есть своя схема кодирования - Tight, разработанная самим каплинским03.03.04 00:42 Число просмотров: 1635 Автор: amirul <Serge> Статус: The Elderman
> Что касается rdesktop, то в разговоре с коллегой > проскакивала такая идея, что по сети передаются не снимки, > а примитивы оконной системы (такое-то окно передвинулось > туда-то, такое-то появилось там-то...). Не знаю, насколько > это может быть далеко от реальной реализации Remote > Desktop, но в любом случае идея неплохая, имхо. http://iu4.bmstu.ru/konf/2001/sbornik/doc/s2_13/s2_13.html
А вообще теоретических разработок в этом направлении довольно много. Начать хотя бы с источников вышеприведенной статьи
Как думаете, как реализована технология Remote Desktop в Windows XP?
я про утилиту mstsc...
НА первый взгляд похоже, что деруться скриншоты, но очень уж быстро по сети пересылается все это, никто не пробовал реализовывать похожее?
Или мысли есть, как это программно реализовать можно?
Сильно сомневаюсь. Иначе нафига терминальный доступ и...07.03.04 17:07 Автор: alibek Статус: Незарегистрированный пользователь
> НА первый взгляд похоже, что деруться скриншоты... Сильно сомневаюсь. Иначе нафига терминальный доступ и настройки самого Remote Desktop'а (бэкграунд, эффекты анимации и т.п.).
Передаются объекты (оконная структура) и события.
[Win32] Все сталкивались02.03.04 15:41 Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
> смотри исходники http://www.rdesktop.org/ > А что ты хочешь сделать? Чем тебя не устраивает родной RDP. Диплом пишу... ПО Администратора сети.. Хочу реализовать Remote Desktop, чтоб работало и под Win9X и под Win2000/XP/NT...Софта-то полно..
Но вот как они реализовывали, не совсем понятно, пробую сделать через скриншоты, но только деру скрины с активных окон, проблема, что у них бывают всплывающие менюхи и Hint`ы.. Окна деруться на ура, а вот хинты и всплывающие менюхи не хотят... Да и вообще подумал, а если во весь экран окошко развернуто, все окно драть, достаточно долго передаваться по сети будет, либо сравнивать битмапы нужно и пересылать только изменения, или не знаю как... Вот геморрой..
Еще можешь посмотреть исходники vnc02.03.04 16:35 Автор: amirul <Serge> Статус: The Elderman
> экран окошко развернуто, все окно драть, достаточно долго > передаваться по сети будет, либо сравнивать битмапы нужно и > пересылать только изменения, или не знаю как... Вот > геморрой.. Только изменения передавать обязательно. Но при этом их еще и паковать желательно хотя бы тем же zlib-ом
Логично конечно, но как эти изменения отловить?02.03.04 17:09 Автор: Darkhelmet Статус: Незарегистрированный пользователь
Можно конечно создать парочку stream`ов запихивать в них BitMap`ы и сравнивать их побайтово, а изменения в текстовом виде вдругой stream запихать, его пожать и послать... Сомневаюсь, что у них так реализованно, поковырял mstscax.dll там торчат фишки типа: GetForegroundWindow, GetLastActivePopup, GetActiveWindow... Хотя оптимальнее конечно изменения слать...
Хук на возврат из wm_paint, wm_erasebkgnd,wm_ncpaint не поможет?03.03.04 01:31 Автор: Killer{R} <Dmitry> Статус: Elderman Отредактировано 03.03.04 02:46 Количество правок: 1
Вернее хук как на вызов так и на возврат из нее.( WH_CALLWNDPROC, WH_CALLWNDPROCRET) Перед вызовом получать GetUpdateRect а после копировать обновленные участок DC к себе в временный битмэп, сжимать его и каким нить методом и передавать на ту сторону. При этом ессесно надо получать позицию окна в экранных координатах, запоминать ZORDER чтоб не рисовать перекрытые окна. Так же перехватывать WM_MOVING, WM_MOVE, WM_SIZING, WM_SIZE и соответственно двигать картинки на той стороне (лучше всего наверно на каждый конкретный HWND создавать на той стороне битмэп и перехватывать создания, удаления, показывания и прятания окон). Короче секса будет много Ж).
TightVNC для этих целей использует JPEG. Неплохо получается.02.03.04 16:59 Автор: Ktirf <Æ Rusakov> Статус: Elderman
Что касается rdesktop, то в разговоре с коллегой проскакивала такая идея, что по сети передаются не снимки, а примитивы оконной системы (такое-то окно передвинулось туда-то, такое-то появилось там-то...). Не знаю, насколько это может быть далеко от реальной реализации Remote Desktop, но в любом случае идея неплохая, имхо.
У TightVNC есть своя схема кодирования - Tight, разработанная самим каплинским03.03.04 00:42 Автор: amirul <Serge> Статус: The Elderman
> Что касается rdesktop, то в разговоре с коллегой > проскакивала такая идея, что по сети передаются не снимки, > а примитивы оконной системы (такое-то окно передвинулось > туда-то, такое-то появилось там-то...). Не знаю, насколько > это может быть далеко от реальной реализации Remote > Desktop, но в любом случае идея неплохая, имхо. http://iu4.bmstu.ru/konf/2001/sbornik/doc/s2_13/s2_13.html
А вообще теоретических разработок в этом направлении довольно много. Начать хотя бы с источников вышеприведенной статьи
С jpeg я делал... Работает конечно, ничего сказать не могу,...02.03.04 17:22 Автор: Darkhelmet Статус: Незарегистрированный пользователь
> Диплом пишу... ПО Администратора сети.. Хочу реализовать > Remote Desktop, чтоб работало и под Win9X и под > Win2000/XP/NT...Софта-то полно..
Ну ты замахнулся. :)
Хочешь слабать radmin на коленке?
> Но вот как они реализовывали, не совсем понятно,
Не знаю, как у них это сделано, но имхо путь один - садиться на GDI вызовы и проксировать их на удалённый компьютер.
>пробую
> сделать через скриншоты, но только деру скрины с активных > окон, проблема, что у них бывают всплывающие менюхи и > Hint`ы.. Окна деруться на ура, а вот хинты и всплывающие > менюхи не хотят... Да и вообще подумал, а если во весь > экран окошко развернуто, все окно драть, достаточно долго > передаваться по сети будет, либо сравнивать битмапы нужно и > пересылать только изменения, или не знаю как... Вот > геморрой..