annotate src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java @ 37:1454d6fe96c1

add Changehost.java
author one
date Wed, 19 Sep 2012 19:08:07 +0900
parents 1b81deb0abb3
children c2f0b6907448
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.*;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import java.util.logging.Logger;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
31
872d9bcbfe56 Before changing the Viewer.
one
parents: 28
diff changeset
7 import jp.ac.u_ryukyu.treevnc.AcceptThread;
872d9bcbfe56 Before changing the Viewer.
one
parents: 28
diff changeset
8
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
10
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 import com.glavsoft.exceptions.AuthenticationFailedException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 import com.glavsoft.exceptions.FatalException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 import com.glavsoft.exceptions.TransportException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 import com.glavsoft.exceptions.UnsupportedProtocolVersionException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 import com.glavsoft.exceptions.UnsupportedSecurityTypeException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 import com.glavsoft.rfb.IChangeSettingsListener;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 import com.glavsoft.rfb.IRfbSessionListener;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 import com.glavsoft.rfb.protocol.Protocol;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 import com.glavsoft.rfb.protocol.ProtocolSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 import com.glavsoft.transport.Reader;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 import com.glavsoft.transport.Writer;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 import com.glavsoft.viewer.ConnectionManager;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 import com.glavsoft.viewer.Viewer;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 import com.glavsoft.viewer.cli.Parser;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 import com.glavsoft.viewer.swing.ClipboardControllerImpl;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 import com.glavsoft.viewer.swing.ParametersHandler;
16
e654b2e4de64 add TreeTask.java
one
parents: 15
diff changeset
27 import com.glavsoft.viewer.swing.Surface;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 import com.glavsoft.viewer.swing.UiSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 import com.glavsoft.viewer.swing.ParametersHandler.ConnectionParams;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 public class VncProxyService extends Viewer implements Runnable,
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 IRfbSessionListener, IChangeSettingsListener {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 /**
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 *
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 */
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 private static final long serialVersionUID = 1L;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38
12
12c3a73be47f rename package
one
parents: 11
diff changeset
39 public MyRfbProtoProxy rfb;
37
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
40 private ConnectionManager connectionManager;
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
41 // public AcceptClient acc;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 public VncProxyService(Parser parser) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 this();
15
5d43194fdc51 add function
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
44 rfb = new MyRfbProtoProxy();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 ParametersHandler.completeSettingsFromCLI(parser, connectionParams, settings, uiSettings);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 showControls = ParametersHandler.showControls;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 passwordFromParams = parser.getValueFor(ParametersHandler.ARG_PASSWORD);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 logger.info("TightVNC Viewer version " + ver());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 isApplet = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 public VncProxyService() {
37
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
53 connectionManager = new ConnectionManager(this, isApplet);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 connectionParams = new ParametersHandler.ConnectionParams();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 settings = ProtocolSettings.getDefaultSettings();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 uiSettings = super.uiSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 boolean isClient = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 public static final int DEFAULT_PORT = 5900;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 public static Logger logger = Logger.getLogger("com.glavsoft");
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 private boolean forceReconnection;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 private String reconnectionReason;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 private ConnectionParams connectionParams;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 private final ProtocolSettings settings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 private final UiSettings uiSettings;
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
67 private Thread bCast;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
68 private Thread accThread;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
69 private AcceptThread acceptThread;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
70 private GetBroadCastProxy getCast;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 public static void main(String[] argv) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 String[] mainArgs = argv;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 System.out.println(mainArgs.length);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 // input into arguments Decision
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 Parser parser = new Parser();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 ParametersHandler.completeParserOptions(parser);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 parser.parse(argv);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 if (parser.isSet(ParametersHandler.ARG_HELP)) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 printUsage(parser.optionsUsage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 System.exit(0);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 VncProxyService vps = new VncProxyService(parser);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 if (mainArgs.length != 0) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 for (int i = 0; i < argv.length; i++) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 vps.setArguments(mainArgs);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 // write later
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 } else {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 //getHostData();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 //SwingUtilities.invokeLater(myClient);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 Thread th = new Thread(vps);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 th.start();
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
98 try {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
99 th.join();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
100 } catch (InterruptedException e) {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
101 e.printStackTrace();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
102 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
103 vps.createConnection();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
104 vps.start_threads();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 private void setArguments(String[] mainArgs) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 public void run() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 // getHostData();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 if (forceReconnection) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 connectionManager.showReconnectDialog("Connection lost", reconnectionReason);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 forceReconnection = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 tryAgain = true;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118 while (tryAgain) {
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
119 // connectionParams.hostName = arguments[0];
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 // workingSocket = connectionManager.connectToTreeHost(connectionParams, settings);
35
1b81deb0abb3 write a little part reconnection.
one
parents: 34
diff changeset
121 workingSocket = connectionManager.connectToHost(connectionParams, settings, rfb);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 if (null == workingSocket) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 closeApp();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 break;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 logger.info("Connected");
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 try {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 workingSocket.setTcpNoDelay(true); // disable Nagle algorithm
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 Reader reader = new Reader(workingSocket.getInputStream());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 Writer writer = new Writer(workingSocket.getOutputStream());
19
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
132 // rfb.setStream(reader,writer);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 workingProtocol = new Protocol(reader, writer,
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134 new PasswordChooser(passwordFromParams, connectionParams, containerFrame, this),
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 settings);
37
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
136 threadSetAndStart();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 workingProtocol.handshake();
27
85958cba5d15 Create new constructor in TreeTask
one
parents: 23
diff changeset
138 rfb.setProtocolContext(workingProtocol);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 // input into change parents
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 ClipboardControllerImpl clipboardController =
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 new ClipboardControllerImpl(workingProtocol, settings.getRemoteCharsetName());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 clipboardController.setEnabled(settings.isAllowClipboardTransfer());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 settings.addListener(clipboardController);
19
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
144 surface = new Surface(workingProtocol, this, uiSettings.getScaleFactor()); // this method
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
145 settings.addListener(this);
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
146 uiSettings.addListener(surface);
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
147 containerFrame = createContainer();
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
148 connectionManager.setContainerFrame(containerFrame);
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
149 updateFrameTitle();
37
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
150 containerFrame.dispose();
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
151 containerFrame = null;
16
e654b2e4de64 add TreeTask.java
one
parents: 15
diff changeset
152 workingProtocol.startNormalHandling(this, surface, clipboardController,rfb);
20
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
153 // rfb.setInitData(workingProtocol.getInitData()); too early
16
e654b2e4de64 add TreeTask.java
one
parents: 15
diff changeset
154 // workingProtocol.startNormalHandling(this, surface, clipboardController);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 tryAgain = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 } catch (UnsupportedProtocolVersionException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 connectionManager.showReconnectDialog("Unsupported Protocol Version", e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 } catch (UnsupportedSecurityTypeException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 connectionManager.showReconnectDialog("Unsupported Security Type", e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 } catch (AuthenticationFailedException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 passwordFromParams = null;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 connectionManager.showReconnectDialog("Authentication Failed", e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 } catch (TransportException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 connectionManager.showReconnectDialog("Connection Error", "Connection Error" + ": " + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 } catch (IOException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 connectionManager.showReconnectDialog("Connection Error", "Connection Error" + ": " + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 } catch (FatalException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 connectionManager.showReconnectDialog("Connection Error", "Connection Error" + ": " + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 }
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
177 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
178
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
179 public void createConnection() {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
180 rfb.selectPort(5999);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
181 acceptThread = new AcceptThread(rfb, 5999);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
182 accThread = new Thread(acceptThread);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
183 getCast = new GetBroadCastProxy(this,
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
184 workingProtocol.getRemoteDesktopName(),
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
185 this.connectionParams.hostName);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
186 bCast = new Thread(getCast);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
187 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
188
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
189 public void start_threads() {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
190 //rfbThread.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
191 accThread.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
192 bCast.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
193 //rfb.requestThreadStart();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
196 public void proxyStart(String[] argv) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
197 String[] mainArgs = argv;
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
198 System.out.println(mainArgs.length);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
199 // input into arguments Decision
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
201 Parser parser = new Parser();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
202 ParametersHandler.completeParserOptions(parser);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
204 parser.parse(argv);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
205 if (parser.isSet(ParametersHandler.ARG_HELP)) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
206 printUsage(parser.optionsUsage());
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
207 System.exit(0);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
208 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
209 VncProxyService vps = new VncProxyService(parser);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
210 if (mainArgs.length != 0) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
211 for (int i = 0; i < argv.length; i++) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
212 vps.setArguments(mainArgs);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
213 // write later
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
214 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
215 } else {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
216 //getHostData();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
217 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
218 //SwingUtilities.invokeLater(myClient);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
219 Thread th = new Thread(vps);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
220 th.start();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
221 try {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
222 th.join();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
223 } catch (InterruptedException e) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
224 e.printStackTrace();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
225 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
226 vps.createConnection();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
227 vps.start_threads();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
228 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
229
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
230
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 public void destroy() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 public void windowClosing(WindowEvent e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 if (e != null && e.getComponent() != null) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 e.getWindow().setVisible(false);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 closeApp();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 }
37
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
243
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
244 private void threadSetAndStart() {
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
245 AcceptClient aClient = new AcceptClient(connectionParams.hostName);
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
246 Thread thread = new Thread(new CreateThread(aClient));
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
247 thread.start();
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
248 thread = new Thread(new ChangeHost(this, forceReconnection));
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
249 thread.start();
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
250
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
251 }
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
252
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
253 public void setConnectionManager(ConnectionManager _connectionManager) {
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
254 connectionManager = _connectionManager;
1454d6fe96c1 add Changehost.java
one
parents: 35
diff changeset
255 }
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 }