2011-07-12 19 views
1

vnc通信でビデオフレームと共に余分なデータフレームを追加する方法を知っている人はいますか?クライアントとサーバーの両方が私によって処理されます。また、両側で余分なデータフレームをエンコードしてデコードする方法もあります。余分なデータフレームをVNC通信に追加する方法は?

ご協力いただければ幸いです。

答えて

0

私はRFB(VNC)プロトコル上で見つけた最高の参照がある:http://tigervnc.org/cgi-bin/rfbproto

あなたは一般的な方向性のカップルを持っています。

プロトコルを拡張しても構わない場合は、プロトコルに新しいメッセージタイプを追加するだけです(両端を制御するため)。いずれかの方向に任意の量のデータを送信するための既存のメッセージの例として、clientcuttextおよびservercuttextを参照してください。欠点は、クライアントまたはサーバーが異なるクライアントまたはサーバーに接続されている場合、致命的なエラーが発生することです。

もう1つのオプションは、下位互換性のある方法で既存のメッセージを拡張することです。たとえば、ビューポートの外側にあるマウスイベントを送信して(実際の場所に戻ってきた最終的なマウスイベントを送信して)クライアントからサーバーへのメッセージを送信することができます。ビューポートの外側にあるフレームバッファ更新を送信することによって、クライアントからのメッセージをサーバーに送信できます。それは通常のクライアントでは表示されません。

+0

こんにちはkanaka、あまりにも速いrespone.Canに感謝あなたは通信にも安全な手段があります。QTでクライアントが実行され、サーバーはAndroid上に配置されます。 – Pawan

+0

VeNCryptやSASL(途中でアップグレードされている)など、VNCプロトコルの標準部分である2つの暗号化モードがあります。 SSLを使用して、最初からストリーム全体をSSLで暗号化することもできます。 Stunnelコマンドを使用すると、多くの場合これが実行されますが、両側のSSLライブラリにアクセスできる場合は、自分で行うことができます。しかし、このタイプの暗号化の痛みを伴う部分は、常に鍵となる管理部分です。 – kanaka

+0

だから、私はclientcuttextとservercuttextを使用して余分なデータを渡すことができます。暗号化とともにクライアントとサーバは常に修正されますか? – Pawan

1

「透かし」を使用します。すべてのX番目のフレームにデータを設定することができます。すべてのピクセルは、少しのデータを格納するために使用されます。すべてのX-1番目のフレームですべてのピクセルを記録し、X番目のフレームごとにサーバーのビデオフィードの実際の変更を無視しますが、ビットを1にする場合はピクセルを暗くし、0にしたい場合は同じピクセル。 1024 x 768ピクセルのディスプレイでは、この方法でXフレームごとに786kbのデータを格納する可能性があります。データを格納するフレームのストリームを圧縮しないでください。

786kbを必要としない場合は、画面の上半分にするだけで帯域幅を節約し、786kbの半分をデータとして使用します。

すべての暗号化ではなく、ほとんどすべてを実装できるはずです。あなたはあまりにも難読化することができます。たぶん3番目ごとのビットはランダムで無用です。 1番目のビットが1の場合は、すべてを反転します。などなど

+1

+1 –

+0

こんにちはgladoscc、あなたの答えを読んだ後、私は正しい方法で私の質問をしていないことに気づいた。私は自分の質問を編集しました。私はビデオフレームと共にvnc通信にデータフレームだけを追加する必要があります。あなたの答えは、前の質問にしたがっていた狭窄のようなものです。 – Pawan

+0

私はVNCプロトコルを見てきました。カスタムデータを送信する公式の標準はないため、非標準のイベントを作成する必要があります。それは何に」正確な提供することは不可能です www.realvnc.com/docs/rfbproto.pdf: は、私はすべての標準(およびいくつかの非公式)のイベントと一緒に非常に詳細にVNCプロトコルを記述し、このPDF文書を発見しました私はあなたがそれをコード化しようとしている言語を知らないので、チュートリアルスタイルのアドバイスを "やります"! これを実装する方法の手掛かりがない場合は、申し訳ありませんが、最初に簡単に行う必要があります。 この投稿に私のトーンで控えてはいけません! :) – apscience

関連する問題