annotate src/myVncClient/echoClient.java @ 35:b3c9be50ef89

add WaitReply
author Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
date Fri, 08 Jul 2011 20:20:43 +0900
parents 76f5994f2af2
children 0729e856169d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
1 package myVncClient;
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
2
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
3 import java.io.*;
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
4 import java.net.*;
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
5
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
6
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
7 public class echoClient {
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
8 public static Revalue value = new Revalue();
35
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
9 WaitReply WaitReply;// = new WaitReply();
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
10 String responseLine,treenum,parent,line;
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
11 public static Socket echoSocket = null;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
12 BufferedReader lostis = null;
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
13 public static DataOutputStream os = null;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
14 PrintStream lostos;
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
15 public static BufferedReader is = null;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
16 Socket clientSocket = null;
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
17 ServerSocket echoServer=null;
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
18 public static String name;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
19
35
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
20 //WaitReplyに自分自身を渡している
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
21 public echoClient(){
35
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
22 WaitReply = new WaitReply(this);
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
23 }
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
24
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
25
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
26 //VncViewerから引数をもらってきてproxy役を認識する
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
27 public echoClient(String _name){
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
28 name = _name;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
29 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
30
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
31 // Revalue hostn(String args){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
32 void openport(){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
33 // ソケットや入出力用のストリームの宣言
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
34
34
76f5994f2af2 modfy MyVncClient.java
e085711
parents: 30
diff changeset
35 // ポート9999番に接続
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
36 try {
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
37 if(name != null){
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
38 echoSocket = new Socket(name, 9999);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
39 }else{
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
40 echoSocket = new Socket("133.13.48.18", 9999);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
41 }
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
42 os = new DataOutputStream(echoSocket.getOutputStream());
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
43 is = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
44 } catch (UnknownHostException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
45 System.err.println("Don't know about host: localhost");
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
46 } catch (IOException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
47 System.err.println("Couldn't get I/O for the connection to: localhost");
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
48 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
49 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
50
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
51
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
52
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
53 /*
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
54 try {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
55 echoServer = new ServerSocket(9998);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
56 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
57 catch (IOException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
58 System.out.println(e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
59 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
60
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
61 try {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
62 //clientSocket = echoServer.accept();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
63 lostis = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
64 lostos = new PrintStream(clientSocket.getOutputStream());
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
65 while (true){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
66 line = is.readLine();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
67 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
68 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
69 catch (IOException e){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
70 System.out.println(e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
71 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
72 */
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
73
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
74 /*
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
75 catch(InterruptedException e){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
76 e.printStackTrace();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
77 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
78 */
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
79
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
80
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
81
35
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
82 /**
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
83 * @param args select first connection or other
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
84 * @return
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
85 */
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
86 Revalue hostn(String args){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
87 // サーバーにメッセージを送る
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
88 if (echoSocket != null && os != null && is != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
89 try {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
90 //ip情報を取得する
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
91 InetAddress addr = InetAddress.getLocalHost();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
92 //System.out.println(addr.getHostAddress());
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
93 String add = new String(addr.getHostAddress());
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
94
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
95 // メッセージを送ります
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
96 os.writeBytes(add + "\n");
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
97 os.writeBytes(args + "\n");
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
98
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
99 if ((value.responseLine = is.readLine()) != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
100 System.out.println("Server: " + value.responseLine);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
101 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
102 if ((value.parent = is.readLine()) != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
103 System.out.println("parent: " + value.parent);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
104 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
105 if ((value.treenum = is.readLine()) != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
106 System.out.println("treenum: " + value.treenum);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
107 }
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
108 if ((value.leaderflag = is.readLine()) != null) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
109 System.out.println("leaderflag: " + value.leaderflag);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
110 }
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
111
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
112 // 開いたソケットなどをクローズ
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
113 os.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
114 is.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
115 echoSocket.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
116 } catch (UnknownHostException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
117 System.err.println("Trying to connect to unknown host: " + e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
118 } catch (IOException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
119 System.err.println("IOException: " + e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
120
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
121 }
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
122
35
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
123 WaitReply = new WaitReply(this);
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
124 System.out.println(WaitReply);
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
125 WaitReply.start();
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
126
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
127 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
128 return value;
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
129 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
130
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
131 Revalue losthost(){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
132 if (echoSocket != null && os != null && is != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
133 try {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
134
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
135 //echoSocketの情報を呼び出す
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
136 if("1".equals(value.leaderflag)){
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
137 //落ちた番号を報告
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
138 os.writeBytes("1\n");
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
139 os.writeBytes(value.parent + "\n");
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
140 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
141 else{
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
142 os.writeBytes("3\n");
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
143 os.writeBytes(value.parent + "\n");
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
144 }
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
145
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
146 if ((value.responseLine = is.readLine()) != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
147 System.out.println("Server: " + value.responseLine);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
148 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
149 if ((value.parent = is.readLine()) != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
150 System.out.println("parent: " + value.parent);
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
151 }/*
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
152 if ((value.treenum = is.readLine()) != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
153 System.out.println("treenum: " + value.treenum);
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
154 }*/
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
155 Thread.sleep(1000);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
156 MyVncClient.main(value);
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
157
34
76f5994f2af2 modfy MyVncClient.java
e085711
parents: 30
diff changeset
158
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
159 // 開いたソケットなどをクローズ
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
160 os.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
161 is.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
162 echoSocket.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
163
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
164 } catch (UnknownHostException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
165 System.err.println("Trying to connect to unknown host: " + e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
166 } catch (IOException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
167 System.err.println("IOException: " + e);
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
168 } catch (InterruptedException e) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
169 // TODO Auto-generated catch block in order to thread sleep
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
170 e.printStackTrace();
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
171 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
172
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
173 }
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
174 return value;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
175 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
176
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
177 void lostchild(){
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
178
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
179 //ßSystem.out.println(name);
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
180 if (echoSocket != null && os != null && is != null) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
181 try {
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
182
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
183 //echoSocketなどの情報を呼び出す(追加)
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
184
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
185
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
186 //自分の番号を報告
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
187 os.writeBytes("2\n");
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
188 os.writeBytes(value.treenum + "\n");
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
189
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
190 os.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
191 is.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
192 echoSocket.close();
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
193
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
194 } catch (UnknownHostException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
195 System.err.println("Trying to connect to unknown host: " + e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
196 } catch (IOException e) {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
197 System.err.println("IOException: " + e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
198 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
199 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
200 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
201
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
202 Revalue Interruption(Socket _clientSocket){
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
203 clientSocket = _clientSocket;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
204
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
205 try {
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
206 lostis = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
207 lostos = new PrintStream(clientSocket.getOutputStream());
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
208 //while (true){
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
209 //line = lostis.readLine();
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
210 //System.out.println(line);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
211
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
212 try{
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
213 if ((value.responseLine = lostis.readLine()) != null) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
214 System.out.println("newServer: " + value.responseLine);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
215 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
216 if ((value.parent = lostis.readLine()) != null) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
217 System.out.println("newtparent: " + value.parent);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
218 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
219 if ((value.treenum = lostis.readLine()) != null) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
220 System.out.println("newtreenum: " + value.treenum);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
221 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
222 if ((value.leaderflag = lostis.readLine()) != null) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
223 System.out.println("newreaderflag: " + value.leaderflag);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
224 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
225
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
226 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
227 catch (UnknownHostException e) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
228 System.err.println("Trying to connect to unknown host: " + e);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
229 } catch (IOException e) {
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
230 System.err.println("IOException: " + e);
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
231 }
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
232
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
233 // }
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
234 }catch (IOException e){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
235 System.out.println(e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
236 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
237 try{
35
b3c9be50ef89 add WaitReply
Yu Taninari <you@cr.ie.u-ryukyu.ac.jp>
parents: 34
diff changeset
238 clientSocket.close();//WaitReplyのacceptを終了させる
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
239 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
240 catch (IOException e){
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
241 System.out.println(e);
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
242 }
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
243 return value;
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
244 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
245 }
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
246
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
247 class Revalue{
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
248 public String responseLine;
30
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
249 public String parent;//親の番号
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
250 public String treenum;//自分の番号
a335a1038a23 merge taninari's program
e085711
parents: 29
diff changeset
251 public String leaderflag;//リーダフラグ
29
750ecaa1e1b9 add echoClient.java and waitreply.java. modify MyRfbProto.java
e085711
parents:
diff changeset
252 }