Mercurial > hg > Members > riono > TreeVNC_ja_comment
view src/main/java/jp/ac/u_ryukyu/treevnc/TreeVNCNetwork.java @ 205:614db20d8fab
try to separate Network management
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 02 Jul 2014 16:31:25 +0900 |
parents | |
children | 2b3eb4a9492f |
line wrap: on
line source
package jp.ac.u_ryukyu.treevnc; import java.net.InetAddress; import java.net.NetworkInterface; import java.net.Socket; import java.net.SocketException; import java.util.Enumeration; import java.util.HashMap; import jp.ac.u_ryukyu.treevnc.server.TreeManagement; import com.glavsoft.viewer.swing.ConnectionParams; public class TreeVNCNetwork { private HashMap<String, TreeManagement> interfaces = new HashMap<String, TreeManagement>(); private String vncInterface; private MyRfbProto myRfb; public MyRfbProto getMyRfb() { return myRfb; } public void setMyRfb(MyRfbProto myRfb) { this.myRfb = myRfb; } public void getNetworkInterfaces() throws SocketException { for (Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces(); e.hasMoreElements();) { NetworkInterface ni; ni = e.nextElement(); if (ni.isUp() && ni.supportsMulticast() && !ni.isLoopback()) { String hostName = ni.getInetAddresses().nextElement().getHostAddress(); TreeManagement treeManager = new TreeManagement(hostName, ConnectionParams.DEFAULT_VNC_ROOT, myRfb.getViewer().getShowTree()); treeManager.getList().getFirst().setPort(myRfb.getAcceptPort()); addNetworkInterface(ni, treeManager); System.out.println("Interfaces :" + ni.getName()); } } } private NetworkInterface getInterface(Socket vncSocket) { InetAddress address = vncSocket.getInetAddress(); try { return NetworkInterface.getByInetAddress(address); } catch (SocketException e) { return null; } } private void addNetworkInterface(NetworkInterface ni, TreeManagement treeManager) { interfaces.put(ni.getName(), treeManager); } }