Mercurial > hg > Applications > TightVNC_orginal
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 } |