mirror of
https://github.com/moonlight-stream/moonlight-android.git
synced 2025-07-02 15:56:24 +00:00
Plumb port numbers from mDNS discovery
This commit is contained in:
parent
5b73317e30
commit
ea003483c4
@ -6,12 +6,14 @@ import java.net.InetAddress;
|
|||||||
public class MdnsComputer {
|
public class MdnsComputer {
|
||||||
private InetAddress localAddr;
|
private InetAddress localAddr;
|
||||||
private Inet6Address v6Addr;
|
private Inet6Address v6Addr;
|
||||||
|
private int port;
|
||||||
private String name;
|
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.name = name;
|
||||||
this.localAddr = localAddress;
|
this.localAddr = localAddress;
|
||||||
this.v6Addr = v6Addr;
|
this.v6Addr = v6Addr;
|
||||||
|
this.port = port;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getName() {
|
public String getName() {
|
||||||
@ -26,6 +28,10 @@ public class MdnsComputer {
|
|||||||
return v6Addr;
|
return v6Addr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getPort() {
|
||||||
|
return port;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return name.hashCode();
|
return name.hashCode();
|
||||||
@ -36,7 +42,7 @@ public class MdnsComputer {
|
|||||||
if (o instanceof MdnsComputer) {
|
if (o instanceof MdnsComputer) {
|
||||||
MdnsComputer other = (MdnsComputer)o;
|
MdnsComputer other = (MdnsComputer)o;
|
||||||
|
|
||||||
if (!other.name.equals(name)) {
|
if (!other.name.equals(name) || other.port != port) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -260,7 +260,7 @@ public class MdnsDiscoveryAgent implements ServiceListener {
|
|||||||
// Add a computer object for each IPv4 address reported by the PC
|
// Add a computer object for each IPv4 address reported by the PC
|
||||||
for (Inet4Address v4Addr : v4Addrs) {
|
for (Inet4Address v4Addr : v4Addrs) {
|
||||||
synchronized (computers) {
|
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) {
|
if (computers.put(computer.getLocalAddress(), computer) == null) {
|
||||||
// This was a new entry
|
// This was a new entry
|
||||||
listener.notifyComputerAdded(computer);
|
listener.notifyComputerAdded(computer);
|
||||||
@ -273,7 +273,7 @@ public class MdnsDiscoveryAgent implements ServiceListener {
|
|||||||
Inet6Address v6LocalAddr = getLocalAddress(v6Addrs);
|
Inet6Address v6LocalAddr = getLocalAddress(v6Addrs);
|
||||||
|
|
||||||
if (v6LocalAddr != null || v6GlobalAddr != null) {
|
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 ?
|
if (computers.put(v6LocalAddr != null ?
|
||||||
computer.getLocalAddress() : computer.getIpv6Address(), computer) == null) {
|
computer.getLocalAddress() : computer.getIpv6Address(), computer) == null) {
|
||||||
// This was a new entry
|
// This was a new entry
|
||||||
|
Loading…
x
Reference in New Issue
Block a user