mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-20 14:54:31 +01:00
Zeroconf services may have multiple IP addresses: let's consider them all
This commit is contained in:
parent
e6b11c44f6
commit
b0f1516729
@ -93,34 +93,36 @@ public class NetworkDiscovery implements Discovery, ServiceListener, cc.arduino.
|
||||
@Override
|
||||
public void serviceResolved(ServiceEvent serviceEvent) {
|
||||
ServiceInfo info = serviceEvent.getInfo();
|
||||
String address = info.getInet4Addresses()[0].getHostAddress();
|
||||
String name = serviceEvent.getName();
|
||||
for (InetAddress inetAddress : info.getInet4Addresses()) {
|
||||
String address = inetAddress.getHostAddress();
|
||||
String name = serviceEvent.getName();
|
||||
|
||||
PreferencesMap prefs = null;
|
||||
String board = null;
|
||||
if (info.hasData()) {
|
||||
prefs = new PreferencesMap();
|
||||
board = info.getPropertyString("board");
|
||||
prefs.put("board", board);
|
||||
prefs.put("distro_version", info.getPropertyString("distro_version"));
|
||||
}
|
||||
PreferencesMap prefs = null;
|
||||
String board = null;
|
||||
if (info.hasData()) {
|
||||
prefs = new PreferencesMap();
|
||||
board = info.getPropertyString("board");
|
||||
prefs.put("board", board);
|
||||
prefs.put("distro_version", info.getPropertyString("distro_version"));
|
||||
}
|
||||
|
||||
String label = name + " at " + address;
|
||||
if (board != null) {
|
||||
String boardName = Base.getPlatform().resolveDeviceByBoardID(Base.packages, board);
|
||||
label += " (" + boardName + ")";
|
||||
}
|
||||
String label = name + " at " + address;
|
||||
if (board != null) {
|
||||
String boardName = Base.getPlatform().resolveDeviceByBoardID(Base.packages, board);
|
||||
label += " (" + boardName + ")";
|
||||
}
|
||||
|
||||
BoardPort port = new BoardPort();
|
||||
port.setAddress(address);
|
||||
port.setBoardName(name);
|
||||
port.setProtocol("network");
|
||||
port.setPrefs(prefs);
|
||||
port.setLabel(label);
|
||||
BoardPort port = new BoardPort();
|
||||
port.setAddress(address);
|
||||
port.setBoardName(name);
|
||||
port.setProtocol("network");
|
||||
port.setPrefs(prefs);
|
||||
port.setLabel(label);
|
||||
|
||||
synchronized (this) {
|
||||
removeDuplicateBoards(port);
|
||||
ports.add(port);
|
||||
synchronized (this) {
|
||||
removeDuplicateBoards(port);
|
||||
ports.add(port);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user