このアーカイブは同期化されません。 mixi の日記が更新されても、このアーカイブには反映されません。
これで、クライアントメッセージについては調査が終わった。
次に考えるのは、サーバ側の画面描画だ。
サーバ側の画面描画は、クライアントが送る、
FramebufferUpdateRequest メッセージに応答する形で、
画面データを何かしらの形式に加工して送信する。
これをウィンドウの描画要求と考えれば、
ウィンドウの paint 系のイベントと見る事が可能になる。
これは、実装者にとって便利な考え方だ。
ベース実装では、画面データを格納するバッファを作成し、
そのバッファに書き込むための Graphics を生成する。
そして、Graphics を実装者に渡して描画させる。
最終的に、ベース実装がバッファの内容を元に、
画面データ送信用のメッセージに変換して送れば良いのだ。
画面バッファについては、確かかなり前に考えてたな。
http://mixi.jp/view_diary.pl?id=318269104&owner_id=2300658
……ええと、BufferedImage を使えば、
Graphics の用意が簡単に行える上に、
Raster 経由で、画素データの取得も行えるってことか。
上記と昨日のキーボード、マウスの処理を合わせると、
より高水準な考え方で RFB 通信を扱えるようになるはずだ。