Mercurial > hg > Members > riono > TreeVNC_ja_comment
view src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java @ 157:7cea8789387b
thread base command listening loop
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Fri, 13 Jun 2014 23:12:28 +0900 |
parents | e68dfd1972ac |
children | fa6cfb85444e |
line wrap: on
line source
package jp.ac.u_ryukyu.treevnc; import java.io.IOException; import com.glavsoft.viewer.ViewerInterface; import com.glavsoft.viewer.swing.ConnectionParams; import jp.ac.u_ryukyu.treevnc.client.FindRoot; import jp.ac.u_ryukyu.treevnc.client.TreeVncProtocol; public class CreateConnectionParam { private String hostName; private int portNumber = ConnectionParams.DEFAULT_VNC_ROOT; private MyRfbProto rfb; private String myHostName; public TreeVncCommandChannelListener acceptThread; public CreateConnectionParam(MyRfbProto rfb) { this.rfb = rfb; } public synchronized void findTreeVncRoot() throws InterruptedException { rfb.createRootSelectionPanel(this); FindRoot getBcast = new FindRoot(rfb.acceptPort,this); getBcast.findRoot(); // wait for RootSelection wait(); } /** * To find parent, send WHERE_TO_CONNECT command to the TreeVNC root * Incoming CONNECT_TO message is handled in MyRFBProto * @param v */ public void createConnectionParam(ViewerInterface v) { TreeVncProtocol echo = new TreeVncProtocol(hostName,portNumber); rfb.setEcho(echo); try { echo.whereToConnect(myHostName,rfb.getAcceptPort()); } catch (IOException e) { // cannot send where to connect } } public void runTreeVncCommandListener() { rfb.selectPort(ConnectionParams.DEFAULT_VNC_ROOT); acceptThread = new TreeVncCommandChannelListener(rfb, rfb.getAcceptPort()); Thread accThread = new Thread(acceptThread, "tree-vnc-command-listener"); accThread.start(); } public synchronized void setHostName(String _hostName, int port, String _myHostName) { hostName = _hostName; portNumber = port; myHostName = _myHostName; notify(); } public void setHostName(String hostAndPort) { int i = hostAndPort.indexOf(':'); if (i>0) { portNumber = Integer.parseInt(hostAndPort.substring(i+1)); hostName = hostAndPort.substring(0,i); } else hostName = hostAndPort; } public String getMyHostName() { return myHostName; } public TreeVncCommandChannelListener getAcceptThread() { return acceptThread; } }