annotate src/main/java/jp/ac/u_ryukyu/treevnc/server/VncProxyService.java @ 20:98519d16a8c3

getInitData from ProtocolContext
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 29 Aug 2012 23:22:14 +0900
parents ea83f4be0cc9
children 6a4312344a5a
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
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
8
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import com.glavsoft.exceptions.AuthenticationFailedException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 import com.glavsoft.exceptions.FatalException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 import com.glavsoft.exceptions.TransportException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 import com.glavsoft.exceptions.UnsupportedProtocolVersionException;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 import com.glavsoft.exceptions.UnsupportedSecurityTypeException;
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.Protocol;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 import com.glavsoft.rfb.protocol.ProtocolSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 import com.glavsoft.transport.Reader;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 import com.glavsoft.transport.Writer;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
20 import com.glavsoft.viewer.ConnectionManager;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 import com.glavsoft.viewer.Viewer;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 import com.glavsoft.viewer.cli.Parser;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 import com.glavsoft.viewer.swing.ClipboardControllerImpl;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 import com.glavsoft.viewer.swing.ParametersHandler;
16
e654b2e4de64 add TreeTask.java
one
parents: 15
diff changeset
25 import com.glavsoft.viewer.swing.Surface;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 import com.glavsoft.viewer.swing.UiSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 import com.glavsoft.viewer.swing.ParametersHandler.ConnectionParams;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 public class VncProxyService extends Viewer implements Runnable,
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 IRfbSessionListener, IChangeSettingsListener {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 /**
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 private static final long serialVersionUID = 1L;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36
12
12c3a73be47f rename package
one
parents: 11
diff changeset
37 public MyRfbProtoProxy rfb;
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
38 // public AcceptClient acc;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 public VncProxyService(Parser parser) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 this();
15
5d43194fdc51 add function
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 13
diff changeset
41 rfb = new MyRfbProtoProxy();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 ParametersHandler.completeSettingsFromCLI(parser, connectionParams, settings, uiSettings);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 showControls = ParametersHandler.showControls;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 passwordFromParams = parser.getValueFor(ParametersHandler.ARG_PASSWORD);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 logger.info("TightVNC Viewer version " + ver());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 isApplet = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 public VncProxyService() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 connectionParams = new ParametersHandler.ConnectionParams();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 settings = ProtocolSettings.getDefaultSettings();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 uiSettings = super.uiSettings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 boolean isClient = false;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56 public static final int DEFAULT_PORT = 5900;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 public static Logger logger = Logger.getLogger("com.glavsoft");
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 private boolean forceReconnection;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 private String reconnectionReason;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 private ConnectionParams connectionParams;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 private final ProtocolSettings settings;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 private final UiSettings uiSettings;
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
63 private AcceptClient aClient;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
64 private Thread bCast;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
65 private Thread accThread;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
66 private Thread rfbThread;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
67 private AcceptThread acceptThread;
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
68 private GetBroadCastProxy getCast;
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69
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 public static void main(String[] argv) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 String[] mainArgs = argv;
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 System.out.println(mainArgs.length);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 // input into arguments Decision
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 Parser parser = new Parser();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 ParametersHandler.completeParserOptions(parser);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 parser.parse(argv);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 if (parser.isSet(ParametersHandler.ARG_HELP)) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 printUsage(parser.optionsUsage());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 System.exit(0);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84 VncProxyService vps = new VncProxyService(parser);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 if (mainArgs.length != 0) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 for (int i = 0; i < argv.length; i++) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 vps.setArguments(mainArgs);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 // write later
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 } else {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 //getHostData();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93 //SwingUtilities.invokeLater(myClient);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 Thread th = new Thread(vps);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 th.start();
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
96 try {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
97 th.join();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
98 } catch (InterruptedException e) {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
99 e.printStackTrace();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
100 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
101 vps.createConnection();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
102 vps.start_threads();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
103
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);
12
12c3a73be47f rename package
one
parents: 11
diff changeset
121 workingSocket = connectionManager.connectToHost(connectionParams, settings);
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();
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
140
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 // input into change parents
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 ClipboardControllerImpl clipboardController =
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 new ClipboardControllerImpl(workingProtocol, settings.getRemoteCharsetName());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 clipboardController.setEnabled(settings.isAllowClipboardTransfer());
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145 settings.addListener(clipboardController);
13
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
146
19
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
diff changeset
147 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
148 /*
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();
ea83f4be0cc9 remove is and os
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 18
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 rfbThread = new Thread(this);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
186 acceptThread = new AcceptThread(rfb, 5999);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
187 accThread = new Thread(acceptThread);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
188 getCast = new GetBroadCastProxy(this,
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
189 workingProtocol.getRemoteDesktopName(),
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
190 this.connectionParams.hostName);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
191 bCast = new Thread(getCast);
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
192 }
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
193
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
194 public void start_threads() {
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
195 //rfbThread.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
196 accThread.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
197 bCast.start();
406fa09ae645 modify VncProxyService.java
one
parents: 12
diff changeset
198 //rfb.requestThreadStart();
11
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 public void destroy() {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 @Override
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 public void windowClosing(WindowEvent e) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 if (e != null && e.getComponent() != null) {
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 e.getWindow().setVisible(false);
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 closeApp();
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 }
57ae9fbb1245 add files
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 }