diff src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java @ 332:6a6653b67bd7

fix bug lostChild and change message panel failed connect death node
author oc
date Wed, 04 Feb 2015 17:46:09 +0900
parents 42fcc9419498
children 2aa4fcbc5ba2
line wrap: on
line diff
--- a/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java	Tue Feb 03 12:31:48 2015 +0900
+++ b/src/main/java/com/glavsoft/rfb/protocol/ReceiverTask.java	Wed Feb 04 17:46:09 2015 +0900
@@ -44,6 +44,7 @@
 import java.util.TimerTask;
 import java.util.logging.Logger;
 
+import com.glavsoft.viewer.ViewerInterface;
 import jp.ac.u_ryukyu.treevnc.*;
 
 
@@ -155,19 +156,15 @@
             } catch (TransportException e) {
                 logger.severe("Close session: " + e.getMessage());
                 if(!rfb.isTreeManager() && !(rfb.getTerminationType())) {
-                    System.out.println("task stop");
-                    TreeVncProtocol echo = new TreeVncProtocol(rfb.getConnectionParam().getHostName(), rfb.getConnectionParam().getPort());
-                    int counter = 3;
-                    while(counter-- > 0) {
-                        try {
-                            if (rfb.isLeader()) {
-//                                echo.lostParent(rfb.getMyAddress(),rfb.getAcceptPort());
-                            }
-                            break;
-                        } catch (Exception e1) {
-                            logger.severe("Cannot send lostHost: " + e1.getMessage());
-                            sleep(3000);
-                        }
+                    System.out.println("death parent node, wait connect new parent node.");
+                    // close viewer
+                    ViewerInterface viewer = rfb.getViewer();
+                    viewer.setVisible(false);
+                    try {
+                        // clean DataInputStream
+                        reader.close();
+                    } catch (TransportException e1) {
+                        e1.printStackTrace();
                     }
                 }
                 stopTask();
@@ -201,7 +198,7 @@
             Thread.sleep(i);
         } catch (InterruptedException e) {
             // nothing.
-            System.out.println("any thread has interrupted the current thread.");
+
         }
     }