Виртуальные каналы для VNC?
-
01-10-2019 - |
Вопрос
Кто-нибудь знает, что Weather VNC (RFB) поддерживает виртуальные каналы и дополнения к ним, как он находится в RDP (услуги Terminal Microsoft)? Я просто хочу перенести свои собственные данные по VNC-соединению ...
Решение
VNC / RFB не имеет виртуальных каналов к сожалению.
Вот лучшая ссылка, которую я обнаружил протокол RFB: http://tigervnc.org/cgi-bin/rfbproto.
Не зная больше о том, что вы пытаетесь отправить, и какие направления (ы) есть несколько вариантов, которые приходят на ум:
Плотное кодирование имеет поддержку передачи файлов. Есть плохо отформатированная спецификация для полного жесткого кодирования здесь: http://vnc-tight.svn.sourceforge.net/viewvc/vnc-tight/trunk/doc/rfbtight.odt?Revision=3619.
Если у вас есть управление как клиентом, так и сервером, вы можете определить пользовательскую кодировку, которая позволяет отправлять ваши данные. Клиент будет рекламировать, что он поддерживает кодировку и если сервер поддерживает его, то он начнет использовать его.
Вы можете использовать сообщения в буфер обмена (ClientCuttext и ServicCuttext), и если вам нужно отправлять двоичные данные, которые создают пользовательские кодировки данных как ISO 8859-1 (латин-1). Недостатком является то, что если сервер не поддерживает его, и клиент отправляет данные, которые он будет вставлен на сервер.
Если вам просто нужно отправить с сервера на клиент, вы можете использовать сообщение FrameBufferUpdate, которое отправляет данные вне текущей просмотра просмотра (т.е. 123 пикселей за пределами правой стороны viewport). Клиенты без поддержки могут не справиться с этим хорошо.
Другой вариант, если вам просто нужно отправить с сервера на клиента, состоит в том, что вы можете отправить фреймуферУпдате в рамках просмотра со специальным маркером, а затем немедленно отправить кадровую конструкцию (даже в том же пакете) с реальными видимыми данными, чтобы заменить его Отказ Это будет работать с существующими клиентами (немного больше накладных). Клиенты могут видеть короткое мерцание, хотя.