Mercurial > hg > trac > TreeVNC > TreeVNC
view src/main/java/jp/ac/u_ryukyu/treevnc/client/GetDataClient.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 |
line wrap: on
line source
package jp.ac.u_ryukyu.treevnc.client; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.BindException; import java.net.InetAddress; import java.net.ServerSocket; import java.net.Socket; public class GetDataClient implements Runnable { private ServerSocket server = null; private BufferedReader is; private int port = 8182; private boolean stopFlag; private TextBoxClient text = new TextBoxClient(); private String proxyAddr; public String textAddress() { return text.getAddress(); } public String textPort() { return text.getPort(); } void socketClose() { try { text.unVisible(); is.close(); } catch (IOException e) { e.printStackTrace(); } } @Override public void run() { try { do { try { server = new ServerSocket(port); } catch (BindException e){ port ++; } } while (server == null); while(!stopFlag) { Socket socket = server.accept(); is = new BufferedReader(new InputStreamReader( socket.getInputStream())); proxyAddr = is.readLine(); // proxyAddr format // 5999:localhost:localhost:133.13.59.210: // port:hostnae:hostname:ip address: // GetBroadCastProxy create this string on VNC root InetAddress adr = socket.getInetAddress(); String proxyAddr1 = adr.getHostName(); if (proxyAddr1 != null) { int portIndex = proxyAddr.indexOf(":"); int restIndex = proxyAddr.indexOf(":", portIndex+1); if (portIndex>0) { proxyAddr = proxyAddr.substring(0, portIndex)+":"+proxyAddr1 + ":" + proxyAddr.substring(restIndex+1); } } if(proxyAddr!=null) text.checkBox(proxyAddr); text.setButton(); text.visible(); } System.out.println("stop"); } catch (IOException e) { e.printStackTrace(); } } public void setStopFlag(boolean stopFlag) { this.stopFlag = stopFlag; } public void interrupt() { Thread.currentThread().interrupt(); } public boolean isStopFlag() { return stopFlag; } public void ipRegister() { text.ipRegister(); } public String getProxyAddr() { return proxyAddr; } }