2016年9月23日金曜日

rfbEncodingXZ = 18

(調査中)

xz Stream を用います

疑似コードこんな感じかな。

int nAllRects;
int nDataLength;
int encoding = 18;
xzStream(nDataLength)
{
 rfbRectangle rects[AllRects] = readRects;
 foreach (rect : rects) {
  xzDecode ; ZRLE Encoding の zlibData の中身、つまり subencoding からの処理と同様
 }

}

2016年3月4日金曜日

VNC の PIXEL_FORMAT

The RFB Protocol の PIXEL_FORMAT は、どのような値が設定されているのか… UltraVNC を用いてサンプルを取得しました。

https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#serverinit

                |Full  |256Clr|64Clrs|8 Clrs|8 Dark|4 Grey|B&W   |
----------------|------|------|------|------|------|------|------|
  bits-per-pixel|    32|     8|     8|     8|     8|     8|     8|
           depth|    32|     8|     6|     3|     8|     6|     3|
 big-endian-flag|     0|     0|     0|     0|     0|     0|     0|
true-colour-flag|     1|     1|     1|     1|     1|     1|     1|
         red-max|   255|     7|     3|     1|     7|     3|     1|
       green-max|   255|     7|     3|     1|     7|     3|     1|
        blue-max|   255|     3|     3|     1|     3|     3|     1|
       red-shift|    16|     0|     4|     2|     0|     4|     2|
     green-shift|     8|     3|     2|     1|     3|     2|     1|
      blue-shift|     0|     6|     0|     0|     6|     0|     0|

2015年12月18日金曜日

UltraVnc - Single Click とは

VNC listen mode という技術を使った、リモート接続の仕組みです。この仕組みを利用して、遠隔操作が実現できたりします。いわゆるリモートサポートとよばれるものです。

http://www.uvnc.com/products/uvnc-sc.html

SC (Single Click) は、基本的にキッティング(自分でパッケージを作成)しないとつかえません。
接続先の IP アドレスや、画面構成を定義する必要があります。
開発者の好意で、デジタル署名つきのパッケージを生成するためのページが用意されています。

SC は管理者モードのアプリとして実行されるので、UAC 制御のきいた画面を操作できません。
こやつは UAC を一時的に無効化することで対処しているようです。

商用ソフトにみられるような、再接続機能はついていないようです。
TCP 接続が切断されたり、Windows が再起動したりすると、もう一度つないでもらう必要があります。

SC のダウンロードページでは色々なバージョンが提示されており、選択に迷います。
問題は、それぞれのバージョンの信頼性ですよね… 試した限りでは:

  • 一番下のものは Windows 8 以上でしかうごきません。
  • 一番下のものだけ 高 DPI に対応しているようです。高 DPI 非対応ですと、タブレットやサーフェイスなどの高解像度 Windows をサポートする時に、画面更新がきちんとなされないことがあります。
  • スクリーンアップデートが不具合でとまり、画面が一切更新されなくなったりします。しかし、画面更新がストップしていても、キー操作やマウス操作はきちんと送信されるので注意が必要です。

どれも何かしらの問題を抱えています。正直どれもお勧めできません… SC 以外の代替手段も用意するか、SC の補修が必要です。