Я использую библиотеку bacnet4j для обнаружения удаленных устройств BACnet. В той же сети все работает как положено. Но я не смог найти устройство контроллера BACnet, расположенное в другой сети.
String hostAddress="10.8.102.28";
IpNetwork network = new IpNetworkBuilder().withPort(47808).withSubnet(hostAddress, 24).build();
Transport transport = new DefaultTransport(network);
LocalDevice localDevice = new LocalDevice(Integer.decode(this.settings.getDeviceId()), transport);
localDevice.initialize();
//Finding remote device
int remoteId=1234;
RemoteDeviceFuture remoteFuture = RemoteDeviceFinder.findDevice(localDevice, remoteId);
RemoteDevice remoteDevice = null;
try {
remoteDevice = remoteFuture.get(); //remote device is null here
} catch (Exception e) {
LOGGER.error("Remote device with id " + remoteId + " does NOT exist!");
}
Приведенный выше фрагмент кода находит удаленное устройство с заданным идентификатором remoteId в той же сети. Но он не может найти устройство, расположенное в другой сети. Что-то здесь не так?