changeset 96:3c4bebe9bf15

update
author one
date Wed, 05 Oct 2011 02:37:50 +0900
parents d3e806372657
children 19aff5293769
files src/myVncClient/EchoClient.java src/myVncClient/MyVncClient.java
diffstat 2 files changed, 79 insertions(+), 183 deletions(-) [+]
line wrap: on
line diff
--- a/src/myVncClient/EchoClient.java	Sat Sep 10 04:04:09 2011 +0900
+++ b/src/myVncClient/EchoClient.java	Wed Oct 05 02:37:50 2011 +0900
@@ -83,12 +83,6 @@
 
 	// void hostn(String args){
 	void openport() {
-		//  ソケットや入出力用のストリームの宣言
-		/*
-		Random rnd = new Random();
-		long ran = rnd.nextInt(1000) + 1000;
-*/
-		// ポート9999番に接続
 		try {
 			if (name != null) {
 				echoSocket = new Socket(name, echoPort);
@@ -100,7 +94,7 @@
 		} catch (UnknownHostException e) {
 			System.err.println("Don't know about host: localhost");
 		} catch (IOException e) {
-			System.out.println(name + " への接続に失敗しました");
+			System.out.println(name + " Connection Faild");
 			System.exit(0);
 		}
 	}
@@ -114,42 +108,22 @@
 		// サーバーにメッセージを送る
 		if (echoSocket != null && os != null && is != null) {
 			try {
-				// ip情報を取得する
+
 				InetAddress addr = InetAddress.getLocalHost();
-				// System.out.println(addr.getHostAddress());
 				String add = new String(addr.getHostAddress());
 
-				// メッセージを送ります
 				os.writeBytes(add + "\n");
 				os.writeBytes(args + "\n");
+				getProxyData(is);
 
-				if ((responseLine = is.readLine()) != null) {
-					System.out.println("Server: " + responseLine);
-				}
-				if ((parent = is.readLine()) != null) {
-					System.out.println("parent: " + parent);
-				}
-				if ((treenum = is.readLine()) != null) {
-					System.out.println("treenum: " + treenum);
-				}
-				if ((leaderflag = is.readLine()) != null) {
-					System.out.println("leaderflag: " + leaderflag);
-				}
-
-				// 開いたソケットなどをクローズ
-				os.close();
-				is.close();
-				echoSocket.close();
+				streamClose();
 			} catch (UnknownHostException e) {
 				System.err.println("Trying to connect to unknown host: " + e);
 			} catch (IOException e) {
 				System.err.println("IOException: " + e);
-
 			}
-
 			waitReply = new WaitReply(treenum,client);
 			waitReply.start();
-
 		}
 		return this;
 	}
@@ -159,95 +133,36 @@
 	 * Call at lost host 
 	 */
 	boolean losthost() {
-		String checkRepetition; 
 		if (echoSocket != null && os != null && is != null) {
 			try {
 				if(runflag){
 					return true;
 				}
-				// echoSocketの情報を呼び出す
-				if ("1".equals(leaderflag)) {
-					senddataProxy("1",parent,treenum);
-				} else {
-					senddataProxy("3",parent,treenum);
-				}
-
-				if ((responseLine = is.readLine()) != null) {
-					System.out.println("Server: " + responseLine);
-				}
-				if ((parent = is.readLine()) != null) {
-					System.out.println("parent: " + parent);
-				}
-				if ((checkRepetition = is.readLine()) != null) {
-					System.out.println("checkRepetition: " + checkRepetition);
-				}
+				sendDataProxy();
+				String checkRepetition = getProxyData2(is);				
 				if(checkRepetition.equals("stop")){
 					return true;
-				}
-					
-				/**     
-				 * if ((value.treenum = is.readLine()) != null) {
-				 * System.out.println("treenum: " + value.treenum); }
-				 */
-				
-
+				}				
 				if(!(checkRepetition.equals("skip")) || "1".equals(leaderflag)) {
-
 					Thread.sleep(1000);
-					client.init();
-					client.setEchoValue(this);
-					client.getParentName();
-					client.start_threads();
-					client.start();
-					//				MyVncClient.main(this);
-
-					// 開いたソケットなどをクローズ
-					os.close();
-					is.close();
-					echoSocket.close();
-					//runflag = true;
-				}
-
-				
+					reConnectionMain();
+					streamClose();
+				}				
 				Thread.sleep(1000);
 				if(!(checkMove.vncFrame.isShowing())&&"skip".equals(checkRepetition)) {
-					System.out.println("in");
 					openport();
 					notfoundParent();					
-				}
-				
-
+				}				
 			} catch (UnknownHostException e) {
 				System.err.println("Trying to connect to unknown host: " + e);
-			} catch (IOException e) {
-				
-				return false;
-				
-				/*
-				while (true) {
-					
-					try {
-						Thread.sleep(1000);
-						System.out.println("once connection proxy");
-					} catch (InterruptedException e1) {
-						e1.printStackTrace();
-					}
-					
-					openport();
-					losthost();
-					System.out.println("faild in this area");
-					System.err.println("IOException: " + e);
-					
-					if(runflag == true){
-						break;
-					}				
-				}
-				*/
-			} 
-			catch (InterruptedException e) {
+			} catch (IOException e) {				
+				return false;			
+			} catch (InterruptedException e) {
 				e.printStackTrace();
+			} catch (NullPointerException e) {
+				openport();
+				notfoundParent();
 			}
-
 		}
 		return true;
 	}
@@ -256,28 +171,10 @@
 		if (echoSocket != null && os != null && is != null) {
 			runflag = true;
 			try {
-				senddataProxy("2", parent,null);
-
-				if ((responseLine = is.readLine()) != null) {
-					System.out.println("Server: " + responseLine);
-				}
-				if ((parent = is.readLine()) != null) {
-					System.out.println("parent: " + parent);
-				}
-				if ((treenum = is.readLine()) != null) {
-					System.out.println("treenum: " + treenum);
-				}
-				if ((leaderflag = is.readLine()) != null) {
-					System.out.println("leaderflag: " + leaderflag);
-				}
-				client.init();
-				client.setEchoValue(this);
-				client.getParentName();
-				client.start_threads();
-				client.start();
-				os.close();
-				is.close();
-				echoSocket.close();
+				sendDataProxy("2", parent,null);
+				getProxyData(is);
+				reConnectionMain();
+				streamClose();
 			} catch (UnknownHostException e) {
 				System.err.println("Trying to connect to unknown host: " + e);
 			} catch (IOException e) {
@@ -286,76 +183,75 @@
 		}
 		return true;
 	}
-/*
-	void lostchild() {
 
-		// ßSystem.out.println(name);
-		if (echoSocket != null && os != null && is != null) {
-			try {
-
-				// echoSocketなどの情報を呼び出す(追加)
-
-				// 自分の番号を報告
-				os.writeBytes("4\n");
-				os.writeBytes(treenum + "\n");
-
-				os.close();
-				is.close();
-				echoSocket.close();
-
-			} catch (UnknownHostException e) {
-				System.err.println("Trying to connect to unknown host: " + e);
-			} catch (IOException e) {
-				System.err.println("IOException: " + e);
-			}
-		}
-	}
-*/
+	
 	EchoClient Interruption(Socket _clientSocket) {
 		clientSocket = _clientSocket;
 		BufferedReader lostis = null;//あとで修正する
 
 
 		try {
-			lostis = new BufferedReader(new InputStreamReader(
-					clientSocket.getInputStream()));
-			// while (true){
-			// line = lostis.readLine();
-			// System.out.println(line);
-
-			try {
-				if ((responseLine = lostis.readLine()) != null) {
-					System.out.println("newServer: " + responseLine);
-				}
-				if ((parent = lostis.readLine()) != null) {
-					System.out.println("newtparent: " + parent);
-				}
-				if ((treenum = lostis.readLine()) != null) {
-					System.out.println("newtreenum: " + treenum);
-				}
-				if ((leaderflag = lostis.readLine()) != null) {
-					System.out.println("newreaderflag: " + leaderflag);
-				}
-
-			} catch (UnknownHostException e) {
-				System.err.println("Trying to connect to unknown host: " + e);
-			} catch (IOException e) {
-				System.err.println("IOException: " + e);
-			}
-
-			// }
-		} catch (IOException e) {
-			System.out.println(e);
-		}
-		try {
-			clientSocket.close();// WaitReplyのacceptを終了させる
+			lostis = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+				getProxyData(lostis);
+				clientSocket.close();// WaitReplyのacceptを終了させる
 		} catch (IOException e) {
 			System.out.println(e);
 		}
 		return this;
 	}
 	
-	void senddataProxy(String type,String num,String treenum) {
+	void getProxyData(BufferedReader is) throws IOException {
+		if ((responseLine = is.readLine()) != null) {
+			System.out.println("Server: " + responseLine);
+		}
+		if ((parent = is.readLine()) != null) {
+			System.out.println("parent: " + parent);
+		}
+		if ((treenum = is.readLine()) != null) {
+			System.out.println("treenum: " + treenum);
+		}
+		if ((leaderflag = is.readLine()) != null) {
+			System.out.println("leaderflag: " + leaderflag);
+		}
+	}
+	
+	String getProxyData2(BufferedReader is) throws IOException {
+		String checkRepetition;
+		if ((responseLine = is.readLine()) != null) {
+			System.out.println("Server: " + responseLine);
+		}
+		if ((parent = is.readLine()) != null) {
+			System.out.println("parent: " + parent);
+		}
+		if ((checkRepetition = is.readLine()) != null) {
+			System.out.println("checkRepetition: " + checkRepetition);
+		}
+		return checkRepetition;
+	}
+	
+	void reConnectionMain() {
+		client.init();
+		client.setEchoValue(this);
+		client.getParentName();
+		client.start_threads();
+		client.start();
+	}
+	
+	void streamClose() throws IOException {
+		os.close();
+		is.close();
+		echoSocket.close();
+	}
+	
+	void sendDataProxy() {
+		if ("1".equals(leaderflag)) {
+			sendDataProxy("1",parent,treenum);
+		} else {
+			sendDataProxy("3",parent,treenum);
+		}
+	}
+	
+	void sendDataProxy(String type,String num,String treenum) {
 		try {
 			if(treenum!=null) {
 				os.writeBytes(type + "\n");
--- a/src/myVncClient/MyVncClient.java	Sat Sep 10 04:04:09 2011 +0900
+++ b/src/myVncClient/MyVncClient.java	Wed Oct 05 02:37:50 2011 +0900
@@ -132,8 +132,8 @@
 			}else {
 				System.out.println("reConnectAndAuthenticate() ");
 				reConnectAndAuthenticate();
-				accThread = new Thread(new AcceptThread(rfb, 5999));
-				accThread.start();
+				//accThread = new Thread(new AcceptThread(rfb, 5999));
+				//accThread.start();
 			}
 
 			doProtocolInitialisation();