annotate src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java @ 35:1b81deb0abb3

write a little part reconnection.
author one
date Wed, 12 Sep 2012 13:16:47 +0900
parents f70008073a03
children 1454d6fe96c1
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;
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
40 // public AcceptClient acc;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 public VncProxyService(Parser parser) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 this();
15
5d43194fdc51 add function
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
43 rfb = new MyRfbProtoProxy();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 ParametersHandler.completeSettingsFromCLI(parser, connectionParams, settings, uiSettings);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 showControls = ParametersHandler.showControls;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 passwordFromParams = parser.getValueFor(ParametersHandler.ARG_PASSWORD);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 logger.info("TightVNC Viewer version " + ver());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48 isApplet = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 }
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 public VncProxyService() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 connectionParams = new ParametersHandler.ConnectionParams();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 settings = ProtocolSettings.getDefaultSettings();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 uiSettings = super.uiSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 boolean isClient = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 public static final int DEFAULT_PORT = 5900;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 public static Logger logger = Logger.getLogger("com.glavsoft");
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 private boolean forceReconnection;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 private String reconnectionReason;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 private ConnectionParams connectionParams;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 private final ProtocolSettings settings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 private final UiSettings uiSettings;
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
65 private AcceptClient aClient;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
66 private Thread bCast;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
67 private Thread accThread;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
68 private AcceptThread acceptThread;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
69 private GetBroadCastProxy getCast;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70
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 public static void main(String[] argv) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 String[] mainArgs = argv;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 System.out.println(mainArgs.length);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 // input into arguments Decision
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 Parser parser = new Parser();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 ParametersHandler.completeParserOptions(parser);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 parser.parse(argv);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 if (parser.isSet(ParametersHandler.ARG_HELP)) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 printUsage(parser.optionsUsage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 System.exit(0);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 VncProxyService vps = new VncProxyService(parser);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 if (mainArgs.length != 0) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 for (int i = 0; i < argv.length; i++) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 vps.setArguments(mainArgs);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 // write later
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 } else {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 //getHostData();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 //SwingUtilities.invokeLater(myClient);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 Thread th = new Thread(vps);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 th.start();
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
97 try {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
98 th.join();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
99 } catch (InterruptedException e) {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
100 e.printStackTrace();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
101 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
102 vps.createConnection();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
103 vps.start_threads();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 }
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 private void setArguments(String[] mainArgs) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 }
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 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 public void run() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 // getHostData();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 ConnectionManager connectionManager = new ConnectionManager(this, isApplet);
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);
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
136 aClient = new AcceptClient(connectionParams.hostName);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
137 Thread thread = new Thread(new CreateThread(aClient));
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
138 thread.start();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 workingProtocol.handshake();
27
85958cba5d15 Create new constructor in TreeTask
one
parents: 23
diff changeset
140 rfb.setProtocolContext(workingProtocol);
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
141
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 // input into change parents
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 ClipboardControllerImpl clipboardController =
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 new ClipboardControllerImpl(workingProtocol, settings.getRemoteCharsetName());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 clipboardController.setEnabled(settings.isAllowClipboardTransfer());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 settings.addListener(clipboardController);
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
147
19
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
148 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
149 settings.addListener(this);
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
150 uiSettings.addListener(surface);
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
151 containerFrame = createContainer();
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
152 connectionManager.setContainerFrame(containerFrame);
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
153 updateFrameTitle();
23
6a4312344a5a remove set rfb TreeTask
one
parents: 20
diff changeset
154
16
e654b2e4de64 add TreeTask.java
one
parents: 15
diff changeset
155
e654b2e4de64 add TreeTask.java
one
parents: 15
diff changeset
156 workingProtocol.startNormalHandling(this, surface, clipboardController,rfb);
20
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 19
diff changeset
157 // rfb.setInitData(workingProtocol.getInitData()); too early
16
e654b2e4de64 add TreeTask.java
one
parents: 15
diff changeset
158 // workingProtocol.startNormalHandling(this, surface, clipboardController);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 tryAgain = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 } catch (UnsupportedProtocolVersionException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 connectionManager.showReconnectDialog("Unsupported Protocol Version", e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163 } catch (UnsupportedSecurityTypeException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 connectionManager.showReconnectDialog("Unsupported Security Type", 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 (AuthenticationFailedException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 passwordFromParams = null;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 connectionManager.showReconnectDialog("Authentication Failed", e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 } catch (TransportException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 connectionManager.showReconnectDialog("Connection Error", "Connection Error" + ": " + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 } catch (IOException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 connectionManager.showReconnectDialog("Connection Error", "Connection Error" + ": " + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 } catch (FatalException e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 connectionManager.showReconnectDialog("Connection Error", "Connection Error" + ": " + e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178 logger.severe(e.getMessage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 }
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
181 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
182
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
183 public void createConnection() {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
184 rfb.selectPort(5999);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
185 acceptThread = new AcceptThread(rfb, 5999);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
186 accThread = new Thread(acceptThread);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
187 getCast = new GetBroadCastProxy(this,
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
188 workingProtocol.getRemoteDesktopName(),
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
189 this.connectionParams.hostName);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
190 bCast = new Thread(getCast);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
191 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
192
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
193 public void start_threads() {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
194 //rfbThread.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
195 accThread.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
196 bCast.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
197 //rfb.requestThreadStart();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
200 public void proxyStart(String[] argv) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
201 String[] mainArgs = argv;
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
202 System.out.println(mainArgs.length);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
203 // input into arguments Decision
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
205 Parser parser = new Parser();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
206 ParametersHandler.completeParserOptions(parser);
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207
34
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
208 parser.parse(argv);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
209 if (parser.isSet(ParametersHandler.ARG_HELP)) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
210 printUsage(parser.optionsUsage());
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
211 System.exit(0);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
212 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
213 VncProxyService vps = new VncProxyService(parser);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
214 if (mainArgs.length != 0) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
215 for (int i = 0; i < argv.length; i++) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
216 vps.setArguments(mainArgs);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
217 // write later
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
218 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
219 } else {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
220 //getHostData();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
221 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
222 //SwingUtilities.invokeLater(myClient);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
223 Thread th = new Thread(vps);
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
224 th.start();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
225 try {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
226 th.join();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
227 } catch (InterruptedException e) {
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
228 e.printStackTrace();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
229 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
230 vps.createConnection();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
231 vps.start_threads();
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
232 }
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
233
f70008073a03 add TreeViewer.java
one
parents: 31
diff changeset
234
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 public void destroy() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 public void windowClosing(WindowEvent e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 if (e != null && e.getComponent() != null) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 e.getWindow().setVisible(false);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 closeApp();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 }