annotate src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java @ 142:d2af9edb1803

fix selectRfbSelectPort.
author oc
date Thu, 12 Jun 2014 18:04:22 +0900
parents c3761c896607
children 4547543ca73c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
12c3a73be47f rename package
one
parents: 11
diff changeset
1 package jp.ac.u_ryukyu.treevnc.server;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.awt.event.*;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import java.io.*;
38
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
5 import java.net.UnknownHostException;
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
6 import java.util.LinkedList;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 import java.util.logging.Logger;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8
31
872d9bcbfe56 Before changing the Viewer.
one
parents: 28
diff changeset
9 import jp.ac.u_ryukyu.treevnc.AcceptThread;
138
c3761c896607 minor fix
oc
parents: 137
diff changeset
10 import jp.ac.u_ryukyu.treevnc.client.TreeVncProtocol;
129
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
11 import jp.ac.u_ryukyu.treevnc.client.TreeVncRootSelectionPanel;
31
872d9bcbfe56 Before changing the Viewer.
one
parents: 28
diff changeset
12
59
433c79184c05 merge version2.7.2
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
13 import com.glavsoft.core.SettingsChangedEvent;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 import com.glavsoft.rfb.IChangeSettingsListener;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 import com.glavsoft.rfb.IRfbSessionListener;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 import com.glavsoft.rfb.protocol.ProtocolSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 import com.glavsoft.viewer.Viewer;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 import com.glavsoft.viewer.cli.Parser;
82
cc72fdbb7c72 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 80
diff changeset
19 import com.glavsoft.viewer.swing.ConnectionParams;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 import com.glavsoft.viewer.swing.ParametersHandler;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21
45
20326a4b9d88 create new change button for client.
one
parents: 43
diff changeset
22 public class VncProxyService extends Viewer implements Runnable,
20326a4b9d88 create new change button for client.
one
parents: 43
diff changeset
23 IRfbSessionListener, IChangeSettingsListener {
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 /**
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 *
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 */
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 private static final long serialVersionUID = 1L;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29
46
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
30 public static Logger logger = Logger.getLogger("com.glavsoft");
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
31 private boolean forceReconnection;
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
32 private String reconnectionReason;
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
33 private AcceptThread acceptThread;
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
34 private TreeRootFinderListener getCast;
92
ca39d762805e NoConnection implies no needReconnection Viewer,
oc
parents: 88
diff changeset
35 private AcceptClient clients;
47
f3b775d3592a create newVps.
one
parents: 46
diff changeset
36 static VncProxyService currentVps;
50
225e3873d75f Modified to be able to specify the region of the screen in the argument.
one
parents: 49
diff changeset
37 private int fbWidth = 0;
69
21108e863b8a update client list.
one
parents: 66
diff changeset
38 private boolean firstTime = true;
46
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
39
82
cc72fdbb7c72 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 80
diff changeset
40 private int vncport = ConnectionParams.DEFAULT_RFB_PORT;
cc72fdbb7c72 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 80
diff changeset
41
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 public VncProxyService() {
77
cdf7bbe45885 remove some warnings
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 75
diff changeset
43 ProtocolSettings.getDefaultSettings();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 uiSettings = super.uiSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 }
45
20326a4b9d88 create new change button for client.
one
parents: 43
diff changeset
46
47
f3b775d3592a create newVps.
one
parents: 46
diff changeset
47 public VncProxyService(VncProxyService vps, String hostName) {
f3b775d3592a create newVps.
one
parents: 46
diff changeset
48 this();
f3b775d3592a create newVps.
one
parents: 46
diff changeset
49 connectionParams.hostName = hostName;
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
50 myRfb = vps.myRfb;
47
f3b775d3592a create newVps.
one
parents: 46
diff changeset
51 forceReconnection = vps.forceReconnection;
f3b775d3592a create newVps.
one
parents: 46
diff changeset
52 reconnectionReason = vps.reconnectionReason;
f3b775d3592a create newVps.
one
parents: 46
diff changeset
53 acceptThread = vps.acceptThread;
f3b775d3592a create newVps.
one
parents: 46
diff changeset
54 getCast = vps.getCast;
92
ca39d762805e NoConnection implies no needReconnection Viewer,
oc
parents: 88
diff changeset
55 clients = vps.clients;
47
f3b775d3592a create newVps.
one
parents: 46
diff changeset
56 }
f3b775d3592a create newVps.
one
parents: 46
diff changeset
57
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 public static void main(String[] argv) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 String[] mainArgs = argv;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 System.out.println(mainArgs.length);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 // input into arguments Decision
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
62
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 Parser parser = new Parser();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 ParametersHandler.completeParserOptions(parser);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 parser.parse(argv);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 if (parser.isSet(ParametersHandler.ARG_HELP)) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 printUsage(parser.optionsUsage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 System.exit(0);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 }
46
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
71 VncProxyService vps = new VncProxyService();
61
d9cf08c6415c During implementation change screen.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
72 vps.initProxy1("localhost");
46
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
73 }
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
74
61
d9cf08c6415c During implementation change screen.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
75 private void initProxy1(String hostName) {
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
76 myRfb = new MyRfbProtoProxy();
111
a7988d3c0266 minor fix.
oc
parents: 109
diff changeset
77 myRfb.setVncProxy(this);
138
c3761c896607 minor fix
oc
parents: 137
diff changeset
78 clients = new AcceptClient(hostName, vncport);
61
d9cf08c6415c During implementation change screen.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
79 isApplet = false;
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
80 setIsTreeVNC(true);
82
cc72fdbb7c72 on going ...
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 80
diff changeset
81 setConnectionParam(hostName,vncport);
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
82 isApplet = true;
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
83 run();
46
d2741b80399e extract method and delete tempWorkingProtocol.
one
parents: 45
diff changeset
84 createConnectionAndStart();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 }
97
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
86
106
01c0fd20c0b4 share screen enable cui flag.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
87 /**
01c0fd20c0b4 share screen enable cui flag.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
88 * start new VNC server receiver with
01c0fd20c0b4 share screen enable cui flag.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
89 * inherited clients
01c0fd20c0b4 share screen enable cui flag.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
90 * @param vs
01c0fd20c0b4 share screen enable cui flag.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
91 * @param hostName
01c0fd20c0b4 share screen enable cui flag.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 102
diff changeset
92 */
97
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
93 private void inhelitClients(VncProxyService vs, String hostName) {
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
94 myRfb.setReadyReconnect(false);
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
95 setConnectionParam(hostName,vncport);
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
96 isApplet = true;
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
97 this.setNoConnection(false);
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
98 run();
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
99 firstTime = false;
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
100 createConnectionAndStart();
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
101 }
45
20326a4b9d88 create new change button for client.
one
parents: 43
diff changeset
102
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
103 /**
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
104 * start accepting children
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
105 * run rootFinderListener if necessary
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
106 */
38
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
107 public void createConnectionAndStart() {
142
d2af9edb1803 fix selectRfbSelectPort.
oc
parents: 138
diff changeset
108 myRfb.selectPort(ConnectionParams.DEFAULT_VNC_ROOT);
d2af9edb1803 fix selectRfbSelectPort.
oc
parents: 138
diff changeset
109 acceptThread = new AcceptThread(myRfb, myRfb.getAcceptPort());
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
110 Thread thread = new Thread(acceptThread, "TreeVNC-accept");
38
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
111 thread.start();
69
21108e863b8a update client list.
one
parents: 66
diff changeset
112 if(firstTime) {
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
113 getCast = new TreeRootFinderListener(this);
69
21108e863b8a update client list.
one
parents: 66
diff changeset
114 thread = new Thread(getCast);
21108e863b8a update client list.
one
parents: 66
diff changeset
115 thread.start();
21108e863b8a update client list.
one
parents: 66
diff changeset
116 }
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
117 }
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
119 public void proxyStart(String[] argv, int width, int height) {
50
225e3873d75f Modified to be able to specify the region of the screen in the argument.
one
parents: 49
diff changeset
120 fbWidth = width;
225e3873d75f Modified to be able to specify the region of the screen in the argument.
one
parents: 49
diff changeset
121 proxyStart(argv);
225e3873d75f Modified to be able to specify the region of the screen in the argument.
one
parents: 49
diff changeset
122 }
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
123
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
124 public void proxyStart(String[] argv) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
125 // input into arguments Decision
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
126 Parser parser = new Parser();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
127 ParametersHandler.completeParserOptions(parser);
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
128 if (fbWidth == 0)
50
225e3873d75f Modified to be able to specify the region of the screen in the argument.
one
parents: 49
diff changeset
129 parser.parse(argv);
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
130 if (parser.isSet(ParametersHandler.ARG_HELP)) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
131 printUsage(parser.optionsUsage());
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
132 System.exit(0);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
133 }
61
d9cf08c6415c During implementation change screen.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
134 initProxy1("localhost");
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
135 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
136
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 public void destroy() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 public void windowClosing(WindowEvent e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 if (e != null && e.getComponent() != null) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 e.getWindow().setVisible(false);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 closeApp();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 }
45
20326a4b9d88 create new change button for client.
one
parents: 43
diff changeset
149
38
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
150 protected void socketClose() {
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
151 }
45
20326a4b9d88 create new change button for client.
one
parents: 43
diff changeset
152
38
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
153 @Override
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
154 public void rfbSessionStopped(final String reason) {
59
433c79184c05 merge version2.7.2
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
155
38
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
156 }
45
20326a4b9d88 create new change button for client.
one
parents: 43
diff changeset
157
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
158
55
9fdb8ff88497 change parameter.
one
parents: 54
diff changeset
159 /**
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
160 * chnageVNCServer is called when host change.
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
161 *
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
162 * @param hostName
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
163 * HostAddress
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
164 * @param width
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
165 * FrameWidth
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
166 * @param height
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
167 * FrameHeight
94
75879c316796 synchronized wait for Rfb initialization in change server.
oc
parents: 93
diff changeset
168 * @throws InterruptedException
55
9fdb8ff88497 change parameter.
one
parents: 54
diff changeset
169 */
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
170 public void changeVNCServer(String hostName, int width, int height)
94
75879c316796 synchronized wait for Rfb initialization in change server.
oc
parents: 93
diff changeset
171 throws UnknownHostException, IOException, InterruptedException {
102
1f7ee648e1f6 inflator in MyRfbProtoProxy should be renew to accept new VNC server socket.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
172 // stop reader stop
1f7ee648e1f6 inflator in MyRfbProtoProxy should be renew to accept new VNC server socket.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
173 myRfb.stopReceiverTask();
97
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
174 inhelitClients(this, hostName);
102
1f7ee648e1f6 inflator in MyRfbProtoProxy should be renew to accept new VNC server socket.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
175 orderRecconection(hostName);
59
433c79184c05 merge version2.7.2
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
176 }
433c79184c05 merge version2.7.2
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
177
97
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
178
44f5cdc63a76 don't create Rfb and VNC proxy on change server on root.
oc
parents: 96
diff changeset
179
59
433c79184c05 merge version2.7.2
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
180 @Override
433c79184c05 merge version2.7.2
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 56
diff changeset
181 public void settingsChanged(SettingsChangedEvent event) {
60
ac6f9e46566f proxy mode ok.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 59
diff changeset
182
38
c2f0b6907448 add doc directory
one
parents: 37
diff changeset
183 }
61
d9cf08c6415c During implementation change screen.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
184
69
21108e863b8a update client list.
one
parents: 66
diff changeset
185 public void setFirstTime(boolean flag) {
21108e863b8a update client list.
one
parents: 66
diff changeset
186 firstTime = flag;
21108e863b8a update client list.
one
parents: 66
diff changeset
187 }
21108e863b8a update client list.
one
parents: 66
diff changeset
188
102
1f7ee648e1f6 inflator in MyRfbProtoProxy should be renew to accept new VNC server socket.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
189 public void orderRecconection(String hostName) throws UnknownHostException, IOException, InterruptedException {
1f7ee648e1f6 inflator in MyRfbProtoProxy should be renew to accept new VNC server socket.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
190 myRfb.waitForReady(this);
1f7ee648e1f6 inflator in MyRfbProtoProxy should be renew to accept new VNC server socket.
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 97
diff changeset
191 myRfb.sendDesktopSizeChange();
61
d9cf08c6415c During implementation change screen.
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
192 }
93
7b8d3411270a remove changeScreenInterface.
oc
parents: 92
diff changeset
193
133
70cbec526039 connection handling
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 130
diff changeset
194 public LinkedList<TreeVNCNode> clientList() {
93
7b8d3411270a remove changeScreenInterface.
oc
parents: 92
diff changeset
195 return clients.getList();
7b8d3411270a remove changeScreenInterface.
oc
parents: 92
diff changeset
196 }
129
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
197
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
198 public void addHostToSelectionPanel(int port, String hostname) {
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
199 if (rootSelectionPanel != null) {
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
200 rootSelectionPanel.checkBox(Integer.toString(port) + ":" + hostname);
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
201 rootSelectionPanel.setButton();
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
202 rootSelectionPanel.visible();
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
203 }
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
204 }
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
205
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
206 public void createRootSelectionPanel() {
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
207 rootSelectionPanel = new TreeVncRootSelectionPanel();
a6dc674546f2 change connection param expression timing.
oc
parents: 118
diff changeset
208 }
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
209
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
210 public void replyCreateTree(String hostname, int port) {
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
211 clients.replyCreateTree(hostname,port);
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 133
diff changeset
212 }
136
81b558b38b9f reconnection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 134
diff changeset
213
81b558b38b9f reconnection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 134
diff changeset
214 public void fixLostParent(String hostname, int port) {
81b558b38b9f reconnection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 134
diff changeset
215 clients.fixLostParent(hostname,port);
81b558b38b9f reconnection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 134
diff changeset
216 }
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 }