annotate src/main/java/jp/ac/u_ryukyu/treevnc/client/GetDataClient.java @ 80:2951dd85e9fc

connect to real connection address instead of bad getLocalAddress().
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 30 Apr 2014 13:43:10 +0900
parents fc984746f958
children f93d0286c2ab
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
12c3a73be47f rename package
one
parents: 2
diff changeset
1 package jp.ac.u_ryukyu.treevnc.client;
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.io.BufferedReader;
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import java.io.IOException;
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 import java.io.InputStreamReader;
78
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
6 import java.net.InetAddress;
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 import java.net.ServerSocket;
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 import java.net.Socket;
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9
2
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
10
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 public class GetDataClient implements Runnable {
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 private ServerSocket server = null;
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
13 private BufferedReader is;
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 private int port = 8182;
34
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
15 private boolean stopFlag;
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
16 private TextBoxClient text = new TextBoxClient();
45
20326a4b9d88 create new change button for client.
one
parents: 34
diff changeset
17 private String proxyAddr;
77
cdf7bbe45885 remove some warnings
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 60
diff changeset
18
2
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
19 public String textAddress() {
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
20 return text.getAddress();
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
21 }
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
22
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
23 public String textPort() {
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
24 return text.getPort();
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
25 }
dca3bd61b830 before change MyVncClient.java
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
26
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 void socketClose() {
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 try {
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 text.unVisible();
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 is.close();
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 } catch (IOException e) {
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32 e.printStackTrace();
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 }
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 }
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
36 @Override
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 public void run() {
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
38 try {
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
39 server = new ServerSocket(port);
34
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
40 while(!stopFlag) {
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
41 Socket socket = server.accept();
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
42 is = new BufferedReader(new InputStreamReader(
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
43 socket.getInputStream()));
45
20326a4b9d88 create new change button for client.
one
parents: 34
diff changeset
44 proxyAddr = is.readLine();
78
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
45 // proxyAddr format
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
46 // 5999:localhost:localhost:133.13.59.210:
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
47 // port:hostnae:hostname:ip address:
80
2951dd85e9fc connect to real connection address instead of bad getLocalAddress().
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 78
diff changeset
48 // GetBroadCastProxy create this string on VNC root
78
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
49 InetAddress adr = socket.getInetAddress();
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
50 String proxyAddr1 = adr.getHostName();
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
51 if (proxyAddr1 != null) {
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
52 int portIndex = proxyAddr.indexOf(":");
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
53 int restIndex = proxyAddr.indexOf(":", portIndex+1);
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
54 if (portIndex>0) {
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
55 proxyAddr = proxyAddr.substring(0, portIndex)+":"+proxyAddr1 + ":" + proxyAddr.substring(restIndex+1);
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
56 }
fc984746f958 use real ip address for TreeVNC root selection
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 77
diff changeset
57 }
45
20326a4b9d88 create new change button for client.
one
parents: 34
diff changeset
58 if(proxyAddr!=null)
20326a4b9d88 create new change button for client.
one
parents: 34
diff changeset
59 text.checkBox(proxyAddr);
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
60 text.setButton();
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
61 text.visible();
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
62 }
34
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
63 System.out.println("stop");
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
64 } catch (IOException e) {
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
65 e.printStackTrace();
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
66 }
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 }
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69 public void setStopFlag(boolean stopFlag) {
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 this.stopFlag = stopFlag;
34
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
71
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
72 }
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
73
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
74 public void interrupt() {
f70008073a03 add TreeViewer.java
one
parents: 32
diff changeset
75 Thread.currentThread().interrupt();
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76 }
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 public boolean isStopFlag() {
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 return stopFlag;
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 }
32
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
81
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
82 public void ipRegister() {
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
83 text.ipRegister();
758d025ee24b add TextBox.java
one
parents: 12
diff changeset
84 }
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85
45
20326a4b9d88 create new change button for client.
one
parents: 34
diff changeset
86 public String getProxyAddr() {
20326a4b9d88 create new change button for client.
one
parents: 34
diff changeset
87 return proxyAddr;
20326a4b9d88 create new change button for client.
one
parents: 34
diff changeset
88 }
1
75b54fd9e73a add new package treevnc
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 }