# HG changeset patch # User one # Date 1317749870 -32400 # Node ID 3c4bebe9bf151774b7609b2e4b8a192b752e1b12 # Parent d3e806372657f6501106053845e1a81b1e774a9c update diff -r d3e806372657 -r 3c4bebe9bf15 src/myVncClient/EchoClient.java --- 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"); diff -r d3e806372657 -r 3c4bebe9bf15 src/myVncClient/MyVncClient.java --- 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();