annotate Todo.txt @ 514:887ebd993b3d

separate rfb broadcast
author mir3636
date Thu, 21 Feb 2019 16:52:21 +0900
parents 3fe7e1a372df
children 6677ce2c7017
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
506
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
1 Tue Feb 19 15:01:43 JST 2019
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
2 マルチキャスト用のパラメーター
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
3 Packet size
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
4 Multicast Address
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
5 IPv6, IPv4
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
6 Command line
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
7
514
887ebd993b3d separate rfb broadcast
mir3636
parents: 506
diff changeset
8 複数のルートがあるときにマルチキャストポートを複数にする
887ebd993b3d separate rfb broadcast
mir3636
parents: 506
diff changeset
9 FindRootReply でそのポートを教える
506
3fe7e1a372df Multicast CUI
toubaru
parents: 487
diff changeset
10
487
59cde26249b1 accept change reconnectionId
oshiro
parents: 484
diff changeset
11 Wed Jan 30 18:55:55 JST 2019
59cde26249b1 accept change reconnectionId
oshiro
parents: 484
diff changeset
12 directconnection 時に nodeid を正しく設定する必要がある
59cde26249b1 accept change reconnectionId
oshiro
parents: 484
diff changeset
13
478
oshiro
parents: 431
diff changeset
14 Wed Nov 28 18:45:41 JST 2018
oshiro
parents: 431
diff changeset
15
483
b2f734f3eaf1 disable authentication dialog
oshiro
parents: 478
diff changeset
16 VNCサーバー側が死んだ時にTreeVNCが暴走する Done
484
4accfd4ea9c2 create RectangleBlocking class
oshiro
parents: 483
diff changeset
17 authenticationのポップアップがrootで上がってしまう Done
478
oshiro
parents: 431
diff changeset
18 SERVER_CHANGE_REQUESTでリクエスト側の画面が消えないことがある
oshiro
parents: 431
diff changeset
19 ディスプレイモードで立ち上げた時にも画面が開いた方が良い
oshiro
parents: 431
diff changeset
20 consolelogをlog4jに切り替える
oshiro
parents: 431
diff changeset
21
oshiro
parents: 431
diff changeset
22 Multicast mode
oshiro
parents: 431
diff changeset
23 RFB.readsenddataでmulticastqueueにブロッキングしたデータを挿入する
oshiro
parents: 431
diff changeset
24 multicastqueueをmulticastport に出力するスレッドを作成する
oshiro
parents: 431
diff changeset
25 framebufferをcopyしないでブロッキングするメソッドを作成する
oshiro
parents: 431
diff changeset
26 ReceiveData threadをmulticastportに対して走らせる
oshiro
parents: 431
diff changeset
27 multicastするネットワークインターフェースを選択するUIを作成する
oshiro
parents: 431
diff changeset
28
oshiro
parents: 431
diff changeset
29
431
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
30 Wed June 8 15:35 JST 2016 kono
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
31
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
32 Multi screen でfitScreen buttonは左では動く
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
33 右ではoriginがずれる
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
34
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
35 fitScreenをclient側で自動的に実行する
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
36 multi screenのoriginを考慮してfitScreenする
7eaa95ca7e45 trying to fix fitScreen
Nozomi
parents: 324
diff changeset
37
324
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
38 Wed Jan 28 15:35 JST 2015
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
39
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
40 < 現状の問題点 >
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
41
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
42 安定性の向上
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
43
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
44 無線時、切り替えが遅い
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
45
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
46 拡大・縮小が遅い done!
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
47 RenderingHint に set する値を、Quality から Speed にする done!
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
48 これを TreeVNC の setting から変更出来るようにする
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
49
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
50 FitButton の UI の確認 done!
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
51 -d の場合は常に画面に Fit するように設定 done!
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
52
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
53 テストの方法
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
54
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
55 linux、win で動くかどうか
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
56 VMWare で確認できる
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
57
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
58 catch節で正しい処理ができているか全てチェックする
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
59
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
60 TreeVNC起動中にPCを閉じると暴走する (再現しないから後回し)
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
61
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
62 log in の方法
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
63 log in 出来るようにする
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
64 log in できなかった場合、メッセージを出す
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
65
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
66 複数のネットワークインタフェースがある場合、繋がらないことがある
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
67
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
68 途中でネットワークインタフェースを立ち上げるとそれを検知する
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
69
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
70 log の情報不足の解決
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
71
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
72
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
73 < 拡張機能 >
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
74
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
75 ルータ越え
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
76
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
77 ルータ越えの際の UI の確認
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
78
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
79 音声共有
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
80
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
81 音声共有の際の UI の確認
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
82
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
83
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
84
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
85
1b1270adc4ba update Todo
oc
parents: 218
diff changeset
86
218
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
87 Fri Jul 4 19:39:28 JST 2014
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
88
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
89 ServerChangeRequest を sub tree 側が、自分向けに換えて、upper tree に送ると、
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
90 中間のtree root経由で、VNC server にリンクが届くので sub tree 側からの画面配信が可能になる。
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
91 ただし、木に loop ができるので、ServerChangeRequest を途中で停める必要がある。
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
92 真の root で停めるという手もあるが、自分の知ってるrootから来たものは上に送らないで良いか?
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
93
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
94 r
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
95 / \
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
96 n1 n2
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
97 /\ /\
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
98 n2 n3 n4 r' = n5
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
99 /\
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
100 n1' n2'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
101
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
102 n2' send SCR n2'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
103 Connect VNC r' -> n2'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
104 r' send SCR r'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
105 Connect VNC r -> r'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
106
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
107 n2'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
108 /
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
109 r' -> n2'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
110 / \
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
111 r n1'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
112 / \
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
113 n1 n2
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
114 /\ /
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
115 n2 n3 n4
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
116
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
117 r' send SCR r' to n2', n2' do not send SCR to r' becase r' is root of n2'
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
118
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
119 こうすれば、FrameBufferUpdate を SeverMessage として送る必要がなくなる。
3d7107b14595 update Todo
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 216
diff changeset
120
215
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
121 Thu Jul 3 18:09:37 JST 2014
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
122
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
123 interface毎にtreemanagerをつくるので十分。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
124 subTreeを接続するときにはtreeのnodeにroot modeで直接つなぎにいく。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
125 これで自動的にlocalのroot managerになる。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
126 元のtreeとは干渉しない。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
127
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
128 sub treeの画面に切り替えることは現状できない。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
129 切り替えるためには、sub tree側から元のtreeにRfbUpdateを持ち上げなければならない。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
130 保留。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
131
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
132 同じnetworkにいるかどうかはwheretoconnectに変わったnetworkで接続しにきたときのみ対処する。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
133
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
134 duplicated rootは、subtreeを自分でつなげることにすれば必要ない。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
135
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
136 殺しきれていないThreadがある。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
137
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
138 動かしたままサスペンドすると暴走する。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
139 サスペンドしたマシンに
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
140
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
141 shareボタンを禁止するrootのオプションを、パネルから設定出来るように。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
142
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
143 shareする画面の大きさをHDサイズに限定するのをdefaultにする。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
144 オプションには定義してあるけれど正しく機能していない。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
145
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
146 checkdelayの機能を。
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
147 木をさかのぼるプロトコル
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
148 上から投げて、下からdelayの時間をあげていく
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
149 途中のnodeですべてのtreeを待ってから
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
150
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
151 subtreeからのshareの問題。
216
7016b70b996c update Todo
oc
parents: 215
diff changeset
152
7016b70b996c update Todo
oc
parents: 215
diff changeset
153 無線のみで-dをあげると、client側から接続できない。
215
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
154
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
155
209
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
156 Wed Jul 2 18:55:48 JST 2014
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
157
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
158 TreeRFBProtoのisTreeManagerはnetwork毎に変わる。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
159
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
160 clientが立ち上がったときにinterface address毎にTreeManagerを作成する。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
161 findRootして、既にTreeManagerがいたら、TreeManagerのisTreeManagerフラグを落とす。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
162 TreeManagerフラグがたっているinterfaceにたいしてはinterface rootとして振る舞う。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
163 findRootに答える。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
164 newClientとwhereToConnect、lostParentに応答する。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
165 真のrootはTreeRfb.isRootで判断する。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
166
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
167 newClientが来たら、newClientのnetwork addressをみて、同じネットワークかどうかを判断する。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
168 同じネットワークにいる場合は、tree nodeとして扱う。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
169 ネットワークが異なる場合は、順々にtree nodeの下につける。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
170
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
171 FindRootへの応答は、自分がTreeManagerである場合。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
172 応答を願ったnetwork addressからTreeManagerを検索して、それが合致し、TreeManagerであった場合に応答する。
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
173
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
174
196
012941447841 update Todo.
oc
parents: 193
diff changeset
175 Fri Jun 27 15:19:39 JST 2014
198
f5abf6ba9957 update Todo.
oc
parents: 197
diff changeset
176
205
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
177 拡大縮小ボタンのバグを取る。Done!
196
012941447841 update Todo.
oc
parents: 193
diff changeset
178
209
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
179 Multi-Network-Treeの作成 done!
7b106b4a0c9f update Todo
oc
parents: 205
diff changeset
180 socketからNetMaskを検出 done!
196
012941447841 update Todo.
oc
parents: 193
diff changeset
181 NetworkごとにTreeManagerを作成
012941447841 update Todo.
oc
parents: 193
diff changeset
182 複数のNetworkをもつNodeでは新しいNewtworkにTreeManagerを作成
012941447841 update Todo.
oc
parents: 193
diff changeset
183 FindRootにはTreeMangerが応答する
012941447841 update Todo.
oc
parents: 193
diff changeset
184 下位のNodeのChangeVnCServerはそのTreeManagerが処理する
012941447841 update Todo.
oc
parents: 193
diff changeset
185 上位にHostameがからのChangerVnCserverを投げる
205
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
186 UpdateRectanleを上位のNetworkに投げる
196
012941447841 update Todo.
oc
parents: 193
diff changeset
187 RootではUpdateRectangleを送り返す
012941447841 update Todo.
oc
parents: 193
diff changeset
188
205
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
189 myRfbProtoのselectPort()でnetworkinterfaceを検出する
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
190 myRfbProtoのvncConnected()でvnc port の interface と Network を検出する
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
191
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
192 自分が、そのnetworkのrootになる条件は?
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
193
196
012941447841 update Todo.
oc
parents: 193
diff changeset
194 treeManagerをnetworkのhashmapで持つ。
012941447841 update Todo.
oc
parents: 193
diff changeset
195 setTreeManagerにnetworkの引数を追加する
012941447841 update Todo.
oc
parents: 193
diff changeset
196
012941447841 update Todo.
oc
parents: 193
diff changeset
197 findRootで重複したrootを見つけたときに、
012941447841 update Todo.
oc
parents: 193
diff changeset
198 一番小さいアドレスだけをrootにする。
012941447841 update Todo.
oc
parents: 193
diff changeset
199 それ以外には、duplicated rootを送る。
197
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
200 この際、duplicated rootを送られたrootは生かしておくが、
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
201 find rootへの応答はやめる。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
202 lostParentがきたら、find rootへの応答を再開する。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
203 この際、生かしておくduplicated rootは二つに限る。
196
012941447841 update Todo.
oc
parents: 193
diff changeset
204
012941447841 update Todo.
oc
parents: 193
diff changeset
205 findRootReplyにはVNCServerのhostとportを含める。
012941447841 update Todo.
oc
parents: 193
diff changeset
206 両方共nullだった場合は両方別のものとして表示する。
012941447841 update Todo.
oc
parents: 193
diff changeset
207 異なるVNCServerはduplicate扱いしない。
012941447841 update Todo.
oc
parents: 193
diff changeset
208
012941447841 update Todo.
oc
parents: 193
diff changeset
209 duplicate root を受け取ったrootは、
012941447841 update Todo.
oc
parents: 193
diff changeset
210 rootであることをやめて、自分の子供にrequestWhereToConnectを送信する。
012941447841 update Todo.
oc
parents: 193
diff changeset
211
012941447841 update Todo.
oc
parents: 193
diff changeset
212 requestWhereToConnectを受け取ったnodeは
012941447841 update Todo.
oc
parents: 193
diff changeset
213 whererToConnectを再度送信する。
197
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
214
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
215 中間rootが死んだときには
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
216 下位のnodeはduplicated rootにつなげ直す。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
217 もしduplicatedListになかったら、あきらめる。
bd5e3eb4cfa6 update Todo.
oc
parents: 196
diff changeset
218
205
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
219 TreeManager は interface 別に作る Done!
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
220 Network address が LAN 外なら、その下に node は作らない。( そちらで勝手に作るのはあり )
614db20d8fab try to separate Network management
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 198
diff changeset
221
196
012941447841 update Todo.
oc
parents: 193
diff changeset
222
193
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
223 Thu Jun 25 20:55:00 JST 2014
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
224
215
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
225 share screenした際に、rootのviewerが消えない。 done!
193
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
226 殺しきれていないThreadがある。
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
227
5e652f5404e3 update Todo
oc
parents: 169
diff changeset
228
165
93c6ba4d3bc4 UPDATE TODO
one
parents: 156
diff changeset
229 Thu Jun 19 08:12:02 JST 2014
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
230
169
8ab1f6905db4 Try to hide root frame
oc
parents: 167
diff changeset
231 Share Button を押した際に、JFrameのTitleを更新する。 Done
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
232 SwingViewerWindow.javaのsetRemoteDesktopName メソッドを呼べば解決するはず。
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
233
167
1d3fa20b86bb update remoteDesktopName.
oc
parents: 166
diff changeset
234 サーバが切り替わった際、画面のサイズ等の情報を送信する。(INIT_DATA) Done
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
235
215
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
236 -dオプションでviewerを別にあげるのをやめる。done
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
237 2つめのviewerの表示が滞るのをデバッグする
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
238 shareボタンを禁止するrootのオプションを、パネルから設定出来るように。
215
1badb2ce838f add poll timeout root-command-loop, client don"t send framebufferupdate.
oc
parents: 209
diff changeset
239 shareしたTreeVNCのパネルをinvisibleにする。 done
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
240 shareする画面の大きさをHDサイズに限定するのをdefaultにする。
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
241 fullサイズを転送するオプションに。
169
8ab1f6905db4 Try to hide root frame
oc
parents: 167
diff changeset
242 checkdelayの機能を。
166
26bc52699cf3 send initData to lower node.
oc
parents: 165
diff changeset
243
165
93c6ba4d3bc4 UPDATE TODO
one
parents: 156
diff changeset
244
153
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
245 Fri Jun 13 17:29:02 JST 2014
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
246
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
247 AcceptThreadをMultiThread化する。(deadlockを防ぐため)
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
248 TreeNodeが死んだときに、最後のNodeをそこに置き換える。
156
93d903877c6b update todo.
oc
parents: 153
diff changeset
249 clientをつなげたときにscreen sharingするバグを直す。
93d903877c6b update todo.
oc
parents: 153
diff changeset
250 無線LAN等の複数のネットワークを使えるようにする。
93d903877c6b update todo.
oc
parents: 153
diff changeset
251 無線LAN同士でtreeを構成しないようにパターンマッチをする。
153
e68dfd1972ac fix bad names.
oc
parents: 133
diff changeset
252
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
253 Sat Jun 7 11:47:56 JST 2014
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
254
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
255 Multicast で root を探す (FIND_ROOT)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
256 その時に、自分の proxy port/host を付けておく
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
257 root は、それを client address/port として覚えておく (clients)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
258 root は、そこに接続に来て、「自分のproxy port」を返す。(FIND_ROOT_REPLY)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
259 これを check box に登録する
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
260 client は、それを選択して、root の proxy port に接続に行く (WHERE_TO_CONNECT)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
261 そこから、root は、どこに接続に行くかを教えてくれる (CONNECT_TO)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
262 今度は、そこにclientとして接続する (VERSION_MESSAGE )
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
263
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
264 FIND_ROOT (client multicast ) : int port; String hostname (client's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
265
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
266 proxy port への接続では、client は自分から書かずに server からの version message を待つ
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
267 普通のVNCは cliet からは VERSION_MESSAGE が行くが、Tree VNC では、
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
268
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
269 FIND_ROOT_REPLY (root to client proxy port) : int port; String hostname (root's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
270 WHERE_TO_CONNECT (clinet to root proxy port) : int port; String hostname (client's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
271 CONNECT_TO (root to client ) : int port; String parentAddress (parent's address)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
272 CONNECT_TO_AS_LEADER (root to client ) : int port; String parentAddress (parent's address)
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
273
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
274 が来ることになる。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
275
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
276 切断時は、子供のleaderが root のproxy port に聞きに行く
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
277
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
278 LOST_PARENT (client to root) : int port; String hostname
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
279
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
280 root は、接続変更が必要な node の proxy に CONNECT_TO を送る (木経由では送れない。切断されているので)
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
281
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
282 最終的な切断時では、 LOST_PARENT が大量に出てしまうはず。なので、CONNECT_TO は連続しては送らない。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
283
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
284 reportLastNode は CONNECT_TO で良い。(10001 port)
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
285 lostNodeConnection でも CONNECT_TO を使う
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
286
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
287 LOST_PARENT と PARENT_NOT_FOUND の違いはなんだ? LOST_PARENT は leader が出すようだけど。
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
288
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
289 CONNECT_TO で parentNum とか treeNum を送る必要はない。root 内部で接続アドレスから判断する。
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
290 なので、LOST_PARENT は hostname と port だけでよい。
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 123
diff changeset
291
109
457f9dfbf7ce minor fix.
oc
parents: 105
diff changeset
292 Fri May 23 19:32:24 JST 2014
114
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
293
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
294 checkdelay を再実装する
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
295
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
296 reconnect message が port 10001 を使っているが、これでは複数clientをホストで動かした時に動かない。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
297 どのportを使うかをrootに教える必要がある。
109
457f9dfbf7ce minor fix.
oc
parents: 105
diff changeset
298
123
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
299 9999も使われているようだ。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
300
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
301 普通にclientに接続に行けば、version handshake からスタートするはず。そこに、reconnection プロトコルを
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
302 挟める。MyRfbProto.readVersionMsg()。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
303
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
304 Recconection は
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
305 root は AcceptClient
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
306 client は EchoClient
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
307 で行われている(らしい)。まず、この名前をまともなものにする。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
308
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
309 reconnection は木の最後のノードを穴の空いたところに接続することで行われる。これは、逐次で行う必要がある。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
310 最後には、ほとんどは一斉に切断されるので、そこで破綻しないように注意する。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
311
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
312 root が client のノードとportを持っているかどうかが重要だが。
233e94a7b5ed add comment
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 114
diff changeset
313
109
457f9dfbf7ce minor fix.
oc
parents: 105
diff changeset
314
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
315 Thu May 22 21:20:39 JST 2014
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
316
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
317 1) zlibの同期が外れてる。
105
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
318 VncProxyService.javaのinhelitClients の中で
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
319 resetDecoderを呼び出せばいいが....
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
320 2) DesktopSize ではなく、同じプロトコルで initData を送る方が良い。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
321 2) initData の中の名前を見て、自分だったら、shareしたclientのscreenをhideする。
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 101
diff changeset
322
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
323
96
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
324 Wed May 22 16:14:25 JST 2014
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
325
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
326 1) 10001, 10002 における固定Portをなくす
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
327 2) 木を上に登る通信
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
328 3) ClientをCloseしないでresizeする
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
329
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
330 Update rectangle で desktop size を変更可能
101
34ced177381b update TODO
oc
parents: 100
diff changeset
331 このままで、pixel formatが変更されない
34ced177381b update TODO
oc
parents: 100
diff changeset
332 なのでserverInit をもう一度送るのがよいのではないか
96
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
333
100
3c5b53c80af1 fix TODO
oc
parents: 96
diff changeset
334 4) display modeでClient view(proxy + view)をあげる
96
76e49dd9c9c5 Client resize without reconnection
oc
parents: 22
diff changeset
335
22
acf1a9eb4710 comment
one
parents: 20
diff changeset
336 Wed Aug 29 23:32:36 JST 2012
acf1a9eb4710 comment
one
parents: 20
diff changeset
337
acf1a9eb4710 comment
one
parents: 20
diff changeset
338 ReceiverTask の framebufferUpdateMessage を、TreeTask に再現しないとだめ。
acf1a9eb4710 comment
one
parents: 20
diff changeset
339
20
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 Wed Aug 29 22:27:25 JST 2012
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
341
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 MyRfbProxy の os が初期化されていない (削除する方が良い)
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
343
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 initData が null ( 設定された時に、設定するべき)
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
345
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
346