2010-09-06 4 views
0

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

ответ

1

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

Вот лучший справочник, я нашел к протоколу РФБ: http://tigervnc.org/cgi-bin/rfbproto

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

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

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

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

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

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

Смежные вопросы