Mercurial > hg > trac > TreeVNC > TreeVNC
view src/main/java/jp/ac/u_ryukyu/treevnc/client/ReconnectionWaiter.java @ 125:32c6563492f3
add vnc protocol command sender.
author | oc |
---|---|
date | Thu, 05 Jun 2014 18:30:45 +0900 |
parents | 918dc3ee1c79 |
children |
line wrap: on
line source
package jp.ac.u_ryukyu.treevnc.client; import java.io.IOException; import java.net.BindException; import java.net.ServerSocket; import java.net.Socket; /** * Wait for reconnection message. * Close current application and reopen it. */ public class ReconnectionWaiter extends Thread { private TreeVncProtocol echo; public ReconnectionWaiter(String treenum, TreeVncProtocol echo) { this.echo = echo; } public void run() { ServerSocket echoServer = null; try { echoServer = new ServerSocket(10001); while (true) { Socket clientSocket = echoServer.accept(); if (clientSocket != null) { echo.client.setTeminationType(true); echo.client.closeApp(); echo.client.setSocket(echo.createSocketForClient(clientSocket,true)); echo.client.run(); clientSocket.close(); } } } catch (BindException e) { return; } catch (IOException e) { System.out.println(e); } finally { try { if (echoServer != null) echoServer.close(); } catch (IOException e) { return; } } } }