質問

Weather VNC(RFB)がRDP(Microsoft Terminal Services)のように仮想チャネルとアドインをサポートしていることを知っている人はいますか? 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

  • クライアントとサーバーの両方を制御している場合は、データを送信できるカスタムエンコードを定義できます。クライアントは、エンコードをサポートしていることを宣伝し、サーバーがサポートする場合、使用を開始します。

  • Clipboardメッセージ(ClientCuttextおよびServerCuttext)を使用して、データをISO 8859-1(LATIN-1)としてエンコードするカスタムを作成するバイナリデータを送信する必要がある場合は、使用できます。欠点は、サーバーがサポートせず、クライアントがデータを送信した場合、サーバーに貼り付けられることです。

  • サーバーからクライアントに送信する必要がある場合は、現在のビューポート(つまり、ビューポートの右側を超えて123ピクセル)の外側にデータを送信するFrameBufferUpDateメッセージを使用できます。ただし、サポートのないクライアントはこれをうまく処理できない場合があります。

  • 別のオプションは、サーバーからクライアントに送信する必要がある場合に、ビューポート内に特別なマーカーを使用してFrameBufferUpDateを送信し、すぐにFrameBufferUpDate(同じパケットでも)を実際の可視データで送信することができることです。 。これは、既存のクライアントで動作します(もう少し頭上)。クライアントは簡単なちらつきを見るかもしれません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top