comparison src/main/java/jp/ac/u_ryukyu/treevnc/server/state/ChangeHost.java @ 39:6a34a5220a01

add files
author one
date Tue, 02 Oct 2012 18:13:13 +0900
parents src/main/java/jp/ac/u_ryukyu/treevnc/server/ChangeHost.java@c2f0b6907448
children 3c072f2f39bb
comparison
equal deleted inserted replaced
38:c2f0b6907448 39:6a34a5220a01
1 package jp.ac.u_ryukyu.treevnc.server.state;
2
3 import java.io.BufferedReader;
4 import java.io.IOException;
5 import java.io.InputStreamReader;
6 import java.net.Socket;
7 import java.net.UnknownHostException;
8 import java.util.LinkedList;
9
10 import jp.ac.u_ryukyu.treevnc.MyRfbProto;
11 import jp.ac.u_ryukyu.treevnc.server.VncProxyService;
12
13 import com.glavsoft.rfb.protocol.ProtocolSettings;
14 import com.glavsoft.viewer.ConnectionManager;
15 import com.glavsoft.viewer.Viewer;
16 import com.glavsoft.viewer.swing.ParametersHandler;
17
18 public class ChangeHost extends ConnectionManager implements Runnable,ScreenChanges {
19
20 private VncProxyService vps;
21 private ScreenChanges screenChange;
22 private LinkedList<String> clientList;
23 private int port;
24
25
26 public ChangeHost(VncProxyService _vps, boolean isApplet) {
27 super(_vps, isApplet);
28 vps = _vps;
29 screenChange = this;
30 }
31
32
33 /**
34 *
35 */
36 private static final long serialVersionUID = 1L;
37 String str;
38
39 @Override
40 public void run() {
41 try {
42 while(screenChange.next());
43 } catch (UnknownHostException e) {
44 e.printStackTrace();
45 } catch (IOException e) {
46 e.printStackTrace();
47 }
48 }
49
50 public String getHost() {
51 return str;
52 }
53
54 private void waitingInput() {
55 try {
56 BufferedReader br = new BufferedReader(new InputStreamReader(
57 System.in));
58 str = br.readLine();
59 vps.changeVNCServer();
60 // vps.createConnectionAndStart();
61 // vps.aClient.setList(prevVps.aClient.getList());
62 // clientList = prevVps.aClient.getList();
63 // createSocketAndSend(clientList,String.valueOf(port));
64 } catch (IOException e) {
65 e.printStackTrace();
66 }
67 }
68
69 @Override
70 public Socket connectToHost(
71 final ParametersHandler.ConnectionParams connectionParams,
72 ProtocolSettings settings, MyRfbProto rfb) {
73 Socket socket = null;
74 connectionParams.hostName = str;
75 connectionParams.portNumber = 5900;
76 Viewer.logger.info("Connecting to host " + connectionParams.hostName
77 + ":" + connectionParams.portNumber);
78 try {
79 socket = new Socket(connectionParams.hostName,
80 connectionParams.portNumber);
81 } catch (UnknownHostException e) {
82 Viewer.logger.severe("Unknown host: " + connectionParams.hostName);
83 showConnectionErrorDialog("Unknown host: '"
84 + connectionParams.hostName + "'");
85 } catch (IOException e) {
86 Viewer.logger.severe("Couldn't connect to: "
87 + connectionParams.hostName + ":"
88 + connectionParams.portNumber + ": " + e.getMessage());
89 showConnectionErrorDialog("Couldn't connect to: '"
90 + connectionParams.hostName + "'\n" + e.getMessage());
91 }
92 return socket;
93 }
94
95
96 @Override
97 public boolean next() {
98 waitingInput();
99 changeState(new ReconnectionRequest(vps));
100 return true;
101 }
102
103 public void changeState(ScreenChanges change) {
104 screenChange = change;
105 }
106 }