В noVNC есть способ получить String(журнал) с сервера, который не является частью Frame(Screen)

В noVNC есть способ отправить строку с клиента на сервер, используя API 'send_string', который реализован внутри websock.js, одна вещь, которую я заметил, это отправка строки таким образом, что она не закодирована в RFB (поправьте меня, если я ошибаюсь), поэтому преимущество в этом случае заключается в том, что команды можно отправлять на промежуточный прокси, который подключается к VNC-серверу...

Теперь мой запрос... есть ли способ для этого промежуточного прокси отправить обратно некоторую строку обратно клиенту vnc... означает, что она не закодирована в RFB, поэтому будет обрабатываться по-другому @ client

заранее спасибо

1 ответ

Решение

Библиотека websock.js является клиентской частью проекта websockify. Цель websockify состоит в том, чтобы связать между WebSockets (которые основаны на сообщениях) и обычными сокетами TCP (которые основаны на потоке).

API, который представляет websock.js, является потоковым API, а не основанным на сообщениях. Кроме того, websockify/websock.js позволяет отправлять / получать двоичные данные на удаленную цель, даже если используется более старый протокол WebSocket (Hixie), который изначально не поддерживает двоичные данные.

Функция send_string - это удобная функция, поэтому вам не нужно преобразовывать строку в массив данных перед отправкой. Данные по-прежнему отправляются в конечную цель (она не перехватывается websockify). Начало рукопожатия RFB основано на строках, поэтому noVNC использует send_string в нескольких местах (опять же, для удобства).

Если вы хотите иметь внеполосную связь между websock.js и websockify, вам нужно будет изменить обе стороны, возможно, добавив начальный байт к каждому сообщению, которое указывает, является ли это внеполосной сигнализацией или частью внутриполосный поток. Это не встроенная функциональность.

Отказ от ответственности: я сделал noVNC и websockify.

Другие вопросы по тегам