Mercurial > hg > trac > TreeVNC > TreeVNC
view src/main/java/jp/ac/u_ryukyu/treevnc/CreateConnectionParam.java @ 81:f93d0286c2ab
root find multicast send port number now.
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 30 Apr 2014 17:11:15 +0900 |
parents | 2951dd85e9fc |
children | cc72fdbb7c72 |
line wrap: on
line source
package jp.ac.u_ryukyu.treevnc; import java.util.logging.Logger; import com.glavsoft.viewer.ViewerImpl; import jp.ac.u_ryukyu.treevnc.client.EchoClient; import jp.ac.u_ryukyu.treevnc.client.GetDataClient; import jp.ac.u_ryukyu.treevnc.client.GetHostClient; import jp.ac.u_ryukyu.treevnc.server.GetBroadCastProxy; public class CreateConnectionParam { private String hostName; private int portNumber; private MyRfbProto rfb; private final Logger logger; public CreateConnectionParam(MyRfbProto rfb) { this.rfb = rfb; logger = Logger.getLogger(getClass().getName()); } public void communicationToProxy() { GetHostClient bCast = new GetHostClient(GetBroadCastProxy.MULTICAST_FIND_TREEVNC_ROOT); bCast.getHost(); GetDataClient getBcast = new GetDataClient(); portNumber = 0; do { try { Thread runBcast = new Thread(getBcast); runBcast.start(); hostName = getBcast.textAddress(); portNumber = Integer.parseInt(getBcast.textPort()); } catch (Exception e) { logger.info("can't get parent address or port"); } getBcast.interrupt(); } while ( portNumber == 0); } public void createConnectionParam(ViewerImpl v) { EchoClient echo = new EchoClient(hostName, 9999); rfb.setEcho(echo); rfb.setProxyAddr(hostName); echo.getParentName(); v.setConnectionParam(echo.getParentsAddress(), portNumber); runAcceptThread(); } private void runAcceptThread() { Thread accThread = new Thread(new AcceptThread(rfb, portNumber)); accThread.start(); } public void setHostName(String _hostName) { hostName = _hostName; portNumber = 5999; } }