annotate src/main/java/jp/ac/u_ryukyu/treevnc/client/MyRfbProtoClient.java @ 145:649794dfb9d5

add my hostname to handle multiple network
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Thu, 12 Jun 2014 22:01:05 +0900
parents 1e004d9c599d
children 5be1d92e7835
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
12c3a73be47f rename package
one
parents: 7
diff changeset
1 package jp.ac.u_ryukyu.treevnc.client;
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 import java.io.IOException;
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 import java.io.OutputStream;
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5
144
1e004d9c599d notify connection panel
oc
parents: 143
diff changeset
6 import jp.ac.u_ryukyu.treevnc.CreateConnectionParam;
32
758d025ee24b add TextBox.java
one
parents: 31
diff changeset
7 import jp.ac.u_ryukyu.treevnc.MyRfbProto;
12
12c3a73be47f rename package
one
parents: 7
diff changeset
8
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 import com.glavsoft.exceptions.TransportException;
20
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
10 import com.glavsoft.rfb.protocol.ProtocolContext;
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 import com.glavsoft.transport.Reader;
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12
28
18fad65bc447 Create MyRfbProto.java
one
parents: 20
diff changeset
13 public class MyRfbProtoClient extends MyRfbProto {
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 private Reader reader;
20
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
15 private ProtocolContext context;
4
b32668b8e83c create multicast function
one
parents: 3
diff changeset
16 boolean proxyFlag = false;
b32668b8e83c create multicast function
one
parents: 3
diff changeset
17 int serverMajor, serverMinor;
b32668b8e83c create multicast function
one
parents: 3
diff changeset
18 int clientMajor, clientMinor;
43
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
19 private boolean normalTermination;
143
4547543ca73c findRootReply
oc
parents: 135
diff changeset
20 private TreeVncRootSelectionPanel rootSelectionPanel;
29
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
21
33
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
22
31
872d9bcbfe56 Before changing the Viewer.
one
parents: 29
diff changeset
23 public MyRfbProtoClient() {
33
9d3478d11d3b Add the processing of client
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 32
diff changeset
24
31
872d9bcbfe56 Before changing the Viewer.
one
parents: 29
diff changeset
25 }
29
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
26
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
27 public MyRfbProtoClient(Reader reader, String host, String port) {
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 this.reader = reader;
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 }
29
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
30
103
84f254d8bde4 remove isinstaceof
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
31 @Override
84f254d8bde4 remove isinstaceof
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
32 public boolean isRoot() {
84f254d8bde4 remove isinstaceof
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
33 return false;
84f254d8bde4 remove isinstaceof
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
34 }
84f254d8bde4 remove isinstaceof
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 74
diff changeset
35
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 public boolean readProxyFlag() throws TransportException {
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 int flag = reader.readUInt8();
29
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
38 if (flag == 1)
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 return true;
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40 else
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 return false;
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 }
29
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
43
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
44
4
b32668b8e83c create multicast function
one
parents: 3
diff changeset
45 void sendInitData(OutputStream os) throws IOException {
20
98519d16a8c3 getInitData from ProtocolContext
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 12
diff changeset
46 os.write(context.getInitData());
4
b32668b8e83c create multicast function
one
parents: 3
diff changeset
47 }
29
57eb5575e6c4 MyRfbProto for client and proxy.
one
parents: 28
diff changeset
48
43
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
49
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
50 @Override
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
51 public void setTerminationType(boolean setType) {
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
52 normalTermination = setType;
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
53 }
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
54
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
55 @Override
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
56 public boolean getTerminationType() {
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
57 return normalTermination;
6687aa9dd55e add flag for screen change in ReciverTask.java.
one
parents: 42
diff changeset
58 }
52
986f16afb753 update before change host.
one
parents: 43
diff changeset
59
143
4547543ca73c findRootReply
oc
parents: 135
diff changeset
60
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
61 public void addHostToSelectionPanel(int port, String hostname,String myHostName) {
143
4547543ca73c findRootReply
oc
parents: 135
diff changeset
62 if (rootSelectionPanel != null) {
145
649794dfb9d5 add my hostname to handle multiple network
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 144
diff changeset
63 rootSelectionPanel.checkBox(Integer.toString(port) + ":" + hostname + ":" + myHostName);
143
4547543ca73c findRootReply
oc
parents: 135
diff changeset
64 rootSelectionPanel.setButton();
4547543ca73c findRootReply
oc
parents: 135
diff changeset
65 rootSelectionPanel.visible();
4547543ca73c findRootReply
oc
parents: 135
diff changeset
66 }
4547543ca73c findRootReply
oc
parents: 135
diff changeset
67 }
4547543ca73c findRootReply
oc
parents: 135
diff changeset
68
4547543ca73c findRootReply
oc
parents: 135
diff changeset
69 @Override
144
1e004d9c599d notify connection panel
oc
parents: 143
diff changeset
70 public void createRootSelectionPanel(CreateConnectionParam cp) {
143
4547543ca73c findRootReply
oc
parents: 135
diff changeset
71 rootSelectionPanel = new TreeVncRootSelectionPanel();
144
1e004d9c599d notify connection panel
oc
parents: 143
diff changeset
72 rootSelectionPanel.setCp(cp);
143
4547543ca73c findRootReply
oc
parents: 135
diff changeset
73 }
4547543ca73c findRootReply
oc
parents: 135
diff changeset
74
4547543ca73c findRootReply
oc
parents: 135
diff changeset
75
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
76 /*
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
77 * measure client delay time using tree connection. It should be summed up in upward tree communication
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
78 */
66
84ad879891e9 dont move
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
79 @Override
84ad879891e9 dont move
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
80 public void readCheckDelay(Reader reader) throws TransportException {
134
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
81 // ByteBuffer buf = multicastqueue.allocate(24);
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
82 // reader.readBytes(buf.array(), 0, 24);
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
83 //
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
84 // LinkedList<ByteBuffer> sendData = new LinkedList<ByteBuffer>();
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
85 // sendData.add(buf);
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
86 // Socket echoSocket;
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
87 // try {
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
88 // echoSocket = new Socket(getProxyAddr(), 10002);
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
89 // BufferedReader is = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
90 // DataOutputStream os = new DataOutputStream(echoSocket.getOutputStream());
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
91 // os.writeBytes("checkdelay\n");
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
92 // os.writeBytes(String.valueOf(buf.getLong(16))+"\n");
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
93 // System.out.println("delay"+ is.readLine());
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
94 // } catch (UnknownHostException e) {
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
95 // e.printStackTrace();
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
96 // } catch (IOException e) {
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
97 // e.printStackTrace();
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
98 // }
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
99 // buf.position(0);
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
100 //
128cce60c43c where to connect command
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 119
diff changeset
101 // multicastqueue.put(sendData);
66
84ad879891e9 dont move
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
102
84ad879891e9 dont move
Taninari YU <you@cr.ie.u-ryukyu.ac.jp>
parents: 54
diff changeset
103 }
3
e7ce2b2ffed8 add and modify files
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 }