From c67b82cacd62e9d8ff7bc96283c0ef24b0e36b48 Mon Sep 17 00:00:00 2001 From: Peter Young Date: Tue, 16 Jan 2024 12:09:44 +1100 Subject: [PATCH] Fix for issue 130 --- .../pvaccess/client/impl/remote/ClientContextImpl.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pvAccessJava/src/org/epics/pvaccess/client/impl/remote/ClientContextImpl.java b/pvAccessJava/src/org/epics/pvaccess/client/impl/remote/ClientContextImpl.java index 87d20d48..8959cc1d 100644 --- a/pvAccessJava/src/org/epics/pvaccess/client/impl/remote/ClientContextImpl.java +++ b/pvAccessJava/src/org/epics/pvaccess/client/impl/remote/ClientContextImpl.java @@ -20,6 +20,7 @@ import java.net.InetSocketAddress; import java.net.NetworkInterface; import java.net.SocketException; +import java.net.UnknownHostException; import java.nio.channels.SocketChannel; import java.util.ArrayList; import java.util.Collections; @@ -418,7 +419,7 @@ private void initializeUDPTransport() { // setup UDP transport try { // where to bind (listen) address - InetSocketAddress listenLocalAddress = new InetSocketAddress(broadcastPort); + InetSocketAddress listenLocalAddress = new InetSocketAddress(InetAddress.getByName("0.0.0.0"), broadcastPort); // where to send address InetSocketAddress[] broadcastAddresses = InetAddressUtil.getBroadcastAddresses(broadcastPort); @@ -432,7 +433,7 @@ private void initializeUDPTransport() { BlockingUDPConnector searchConnector = new BlockingUDPConnector(this, false, broadcastAddresses, true); searchTransport = (BlockingUDPTransport) searchConnector.connect(null, new ClientResponseHandler(this), - new InetSocketAddress(0), PVAConstants.PVA_PROTOCOL_REVISION, PVAConstants.PVA_DEFAULT_PRIORITY); + new InetSocketAddress(InetAddress.getByName("0.0.0.0"), 0), PVAConstants.PVA_PROTOCOL_REVISION, PVAConstants.PVA_DEFAULT_PRIORITY); // set broadcast address list if (addressList != null && addressList.length() > 0) { @@ -478,7 +479,7 @@ private void initializeUDPTransport() { broadcastTransport.start(); searchTransport.start(); - } catch (ConnectionException ce) { + } catch (ConnectionException | UnknownHostException ce) { logger.log(Level.SEVERE, "Failed to initialize UDP transport.", ce); } }