diff src/main/java/jp/ac/u_ryukyu/treevnc/server/GetBroadCastProxy.java @ 80:2951dd85e9fc

connect to real connection address instead of bad getLocalAddress().
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 30 Apr 2014 13:43:10 +0900
parents fc984746f958
children f93d0286c2ab
line wrap: on
line diff
--- a/src/main/java/jp/ac/u_ryukyu/treevnc/server/GetBroadCastProxy.java	Wed Apr 30 11:52:34 2014 +0900
+++ b/src/main/java/jp/ac/u_ryukyu/treevnc/server/GetBroadCastProxy.java	Wed Apr 30 13:43:10 2014 +0900
@@ -23,9 +23,11 @@
 	private MulticastSocket soc;
 
 	public GetBroadCastProxy(VncProxyService _vps,String desktopName,String host){
+	    String myaddress = getMyAddress();
+	    // getMyAddress is not always connectable eg. in private segment.
 		vps = _vps;
 		bCast = new BroadCastProxy(vps.getRfb().getAcceptPort()+":"+host+":"
-				+desktopName+":"+getMyAddress()+":");
+				+desktopName+":"+myaddress+":");
 	}
 	
 	private synchronized void getData() {
@@ -91,8 +93,8 @@
 		try {
 			addr = InetAddress.getLocalHost();
 		} catch (UnknownHostException e) {
-			e.printStackTrace();
+			return "localhost";
 		}
-		return new String(addr.getHostAddress());
+		return addr.getHostAddress();
 	}
 }