1

私はRFBサーバーを書いています。RFB リファレンス クライアントを知っている人がいるかどうか疑問に思っていました。

現在、RealVNC を実行し、RFB サーバーに接続するように依頼しましたが、問題なく動作しています。ただし、RealVNC は優れたエンド ユーザー エクスペリエンスを提供することを目的としています。プロトコル機能のすべての可能な有効な組み合わせをテストすることを意図したものではありません。したがって、RealVNC が使用する機能が正しく実装されていることはわかっていますが、RealVNC が使用しない機能がまったく機能しているかどうかはわかりません。でも、どうにか確認できれば本当に助かります。

助言がありますか?

(もちろん、自分自身の RFB クライアントを作成することもできます。しかし、それでは何も証明されません。何かが機能しない場合、それがクライアントなのかサーバーなのか、私にはわかりません。すべてが機能する場合動作しますが、それでも両端が RFB を正しく実装していることを意味するわけではなく、それぞれに同じバグがあるというだけです。)

4

1 に答える 1

0

これはあなたを少し助けるかもしれません。TCP/IPビルダーを使用して、さまざまな16進コードメッセージ(ポインターイベント、キーイベント、カットテキスト)をテキストファイルに保存していました。現在、tcp/ipビルダーをrfb/vncサーバーに接続していました。

作成した RFB サーバーは、他の RFB クライアントと同様に、この TCP/IP ビルダーに応答するようになり、すべてのシナリオ (不完全なペイロード、間違ったメッセージ番号、余分なペイロード、メッセージの順序が間違っているなど) を検証できるようになりました。

サーバーに接続した後、サーバーが rfb バージョン番号情報で応答しない場合は、[Parse Ascii] オプションを選択してください。

最初のメッセージを作成するには、rfb サーバーと実際の vnc の間で適切な rfb セッションが成功したことを Wireshark ログに記録し、それらのメッセージを使用して RFB サーバーを TCP/IP ビルダーでテストします。

RFB バージョン情報は、この「RFB 003.008」のように送信できますが、メッセージの残りの部分では、ネットワーク ログ (pcap/wireshark) に見られるように 16 進数記号を使用する必要があります。

例 : これはフレームバッファ要求メッセージをサーバーに送信する方法です (800 x 480 の非増分)

0x030x000x000x000x000x000x030x200x010xe0

于 2014-03-18T07:36:14.103 に答える