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 (даже в том же пакете) с реальными видимыми данными для его замены.Это будет работать с существующими клиентами (немного больше накладных расходов).Клиенты могут увидеть кратковременное мерцание.