From ea003483c427ba8aefe9182efd5b7c00149fd64d Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sun, 6 Nov 2022 14:41:02 -0600 Subject: [PATCH] Plumb port numbers from mDNS discovery --- .../java/com/limelight/nvstream/mdns/MdnsComputer.java | 10 ++++++++-- .../limelight/nvstream/mdns/MdnsDiscoveryAgent.java | 4 ++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/limelight/nvstream/mdns/MdnsComputer.java b/app/src/main/java/com/limelight/nvstream/mdns/MdnsComputer.java index 7b2afd61..bdd7a173 100644 --- a/app/src/main/java/com/limelight/nvstream/mdns/MdnsComputer.java +++ b/app/src/main/java/com/limelight/nvstream/mdns/MdnsComputer.java @@ -6,12 +6,14 @@ import java.net.InetAddress; public class MdnsComputer { private InetAddress localAddr; private Inet6Address v6Addr; + private int port; private String name; - public MdnsComputer(String name, InetAddress localAddress, Inet6Address v6Addr) { + public MdnsComputer(String name, InetAddress localAddress, Inet6Address v6Addr, int port) { this.name = name; this.localAddr = localAddress; this.v6Addr = v6Addr; + this.port = port; } public String getName() { @@ -26,6 +28,10 @@ public class MdnsComputer { return v6Addr; } + public int getPort() { + return port; + } + @Override public int hashCode() { return name.hashCode(); @@ -36,7 +42,7 @@ public class MdnsComputer { if (o instanceof MdnsComputer) { MdnsComputer other = (MdnsComputer)o; - if (!other.name.equals(name)) { + if (!other.name.equals(name) || other.port != port) { return false; } diff --git a/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java b/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java index e20b177c..03141b51 100644 --- a/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java +++ b/app/src/main/java/com/limelight/nvstream/mdns/MdnsDiscoveryAgent.java @@ -260,7 +260,7 @@ public class MdnsDiscoveryAgent implements ServiceListener { // Add a computer object for each IPv4 address reported by the PC for (Inet4Address v4Addr : v4Addrs) { synchronized (computers) { - MdnsComputer computer = new MdnsComputer(info.getName(), v4Addr, v6GlobalAddr); + MdnsComputer computer = new MdnsComputer(info.getName(), v4Addr, v6GlobalAddr, info.getPort()); if (computers.put(computer.getLocalAddress(), computer) == null) { // This was a new entry listener.notifyComputerAdded(computer); @@ -273,7 +273,7 @@ public class MdnsDiscoveryAgent implements ServiceListener { Inet6Address v6LocalAddr = getLocalAddress(v6Addrs); if (v6LocalAddr != null || v6GlobalAddr != null) { - MdnsComputer computer = new MdnsComputer(info.getName(), v6LocalAddr, v6GlobalAddr); + MdnsComputer computer = new MdnsComputer(info.getName(), v6LocalAddr, v6GlobalAddr, info.getPort()); if (computers.put(v6LocalAddr != null ? computer.getLocalAddress() : computer.getIpv6Address(), computer) == null) { // This was a new entry