Виртуальные каналы для VNC? - PullRequest
0 голосов
/ 06 сентября 2010

Кто-нибудь знает, поддерживает ли VNC (RFB) виртуальные каналы и надстройки к ним, как в RDP (Microsoft Terminal Services)? Я просто хочу передать свои данные через соединение VNC ...

1 Ответ

1 голос
/ 17 октября 2010

VNC / RFB, к сожалению, не имеет виртуальных каналов.

Вот лучшая ссылка, которую я нашел на протокол RFB: http://tigervnc.org/cgi-bin/rfbproto

Не зная больше о том, что вы пытаетесьчтобы отправить и в каком направлении (ях), есть несколько вариантов, которые приходят на ум:

  • Жесткое кодирование имеет поддержку передачи файлов.Здесь имеется плохо отформатированная спецификация для полной жесткой кодировки: http://vnc -tight.svn.sourceforge.net / viewvc / vnc-loop / trunk / doc / rfbtight.odt? Revision = 3619

  • Если у вас есть контроль над клиентом и сервером, вы можете определить пользовательскую кодировку, которая позволяет отправлять ваши данные.Клиент должен объявить, что он поддерживает кодировку, и если сервер поддерживает ее, он начнет ее использовать.

  • Вы можете использовать сообщения буфера обмена (ClientCutText и ServerCutText), и если вам нужноотправить двоичные данные, которые создают пользовательскую кодировку данных в виде ISO 8859-1 (Latin-1).Недостатком является то, что если сервер не поддерживает его, и клиент отправляет данные, он будет вставлен на сервер.

  • Если вам просто нужно отправить с сервера на клиент, тогда вы можете использовать сообщение framebufferUpdate, которое отправляет данные за пределы текущего окна просмотра (т. е. 123 пикселя за правую сторону окна просмотра).Клиенты без поддержки могут не справиться с этим хорошо.

  • Другой вариант, если вам просто нужно отправить с сервера клиенту, это то, что вы можете отправить framebufferUpdate в окне просмотра с помощью специальногомаркер, а затем немедленно отправьте framebufferUpdate (даже в том же пакете) с реальными видимыми данными для его замены.Это будет работать с существующими клиентами (немного больше накладных расходов).Клиенты могут увидеть кратковременное мерцание.

...