diff --git a/nxtuntransport/jar/nxtuntransport.jar b/nxtuntransport/jar/nxtuntransport.jar index 6ec27d4f..88300eff 100644 Binary files a/nxtuntransport/jar/nxtuntransport.jar and b/nxtuntransport/jar/nxtuntransport.jar differ diff --git a/nxtuntransport/src/es/virtualcable/nx/LinuxApplet.java b/nxtuntransport/src/es/virtualcable/nx/LinuxApplet.java index 894c9627..ce0c14e7 100644 --- a/nxtuntransport/src/es/virtualcable/nx/LinuxApplet.java +++ b/nxtuntransport/src/es/virtualcable/nx/LinuxApplet.java @@ -27,7 +27,8 @@ public class LinuxApplet implements OsApplet { nxFileName = tmpDir + UUID.randomUUID().toString() + ".nxs"; jarFileName = tmpDir + UUID.randomUUID().toString() + ".jar"; - //System.out.println(nxFileName); + // Notifies to broker the hostname/ip + util.notifyHostname(baseUrl, params.get("is")); String width = params.get("width"); String height = params.get("height"); diff --git a/nxtuntransport/src/es/virtualcable/nx/MacApplet.java b/nxtuntransport/src/es/virtualcable/nx/MacApplet.java index 183e8cb4..4b46ce8c 100644 --- a/nxtuntransport/src/es/virtualcable/nx/MacApplet.java +++ b/nxtuntransport/src/es/virtualcable/nx/MacApplet.java @@ -27,7 +27,8 @@ public class MacApplet implements OsApplet { nxFileName = tmpDir + UUID.randomUUID().toString() + ".nxs"; jarFileName = tmpDir + UUID.randomUUID().toString() + ".jar"; - //System.out.println(nxFileName); + // Notifies to broker the hostname/ip + util.notifyHostname(baseUrl, params.get("is")); String width = params.get("width"); String height = params.get("height"); diff --git a/nxtuntransport/src/es/virtualcable/nx/WindowsApplet.java b/nxtuntransport/src/es/virtualcable/nx/WindowsApplet.java index 1b810da4..1b30fb03 100644 --- a/nxtuntransport/src/es/virtualcable/nx/WindowsApplet.java +++ b/nxtuntransport/src/es/virtualcable/nx/WindowsApplet.java @@ -36,7 +36,8 @@ public class WindowsApplet implements OsApplet { nxFileName = tmpDir + UUID.randomUUID().toString() + ".nxs"; jarFileName = tmpDir + UUID.randomUUID().toString() + ".jar"; - //System.out.println(nxFileName); + // Notifies to broker the hostname/ip + util.notifyHostname(baseUrl, params.get("is")); String width = params.get("width"); String height = params.get("height"); diff --git a/nxtuntransport/src/es/virtualcable/nx/util.java b/nxtuntransport/src/es/virtualcable/nx/util.java index b377782c..83d5ed56 100644 --- a/nxtuntransport/src/es/virtualcable/nx/util.java +++ b/nxtuntransport/src/es/virtualcable/nx/util.java @@ -1,8 +1,11 @@ package es.virtualcable.nx; import java.io.BufferedInputStream; +import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.URLEncoder; public class util { @@ -39,11 +42,57 @@ public class util { out.close(); } catch(Exception e) { - System.out.println("Unable to download component, already present or network error? " + e.getMessage()); + System.out.println("Unable to download file, already present or network error? " + e.getMessage()); return false; } return true; } + public static String getUrl(String url) { + try { + java.net.URL u = new java.net.URL(url); + BufferedReader in = new BufferedReader(new InputStreamReader(u.openStream())); + StringBuilder data = new StringBuilder(); + + String inputLine; + while ((inputLine = in.readLine()) != null) { + data.append(inputLine); + data.append("\n"); + } + + in.close(); + return data.toString(); + + } catch(Exception e) { + System.out.println("Unable to get url. Network error? " + e.getMessage()); + return null; + } + + } + + @SuppressWarnings("deprecation") + public static void notifyHostname(String baseUrl, String serviceId) { + String[] urlComponents = baseUrl.split("/"); + String hostname; + String ip; + String url=""; + + try { + hostname = java.net.InetAddress.getLocalHost().getHostName(); + ip = java.net.InetAddress.getLocalHost().getHostAddress(); + } catch(Exception e) { + hostname = "unknown"; + ip = "0.0.0.0"; + } + + try { + // An url is "http[s]://.....:/, + url = urlComponents[0] + "//" + urlComponents[2] + "/sernotify/" + serviceId + "/hostname?hostname="+URLEncoder.encode(hostname)+"&ip="+URLEncoder.encode(ip); + getUrl(url); + } catch(Exception e) { + System.out.println("Unable to get url? " + e.getMessage()); + } + } + }