Connect via IPv6 leads to `SocketException: Address family not supported by protocol`

Hi, I’m trying to use AudioRelay 1.0.0-alpha07 on CachyOS Linux and I’m hitting a socket/address-family issue when connecting to any another device Mac or Windows.

System info:
AudioRelay: 1.0.0-alpha07
OS: CachyOS Linux
Kernel: 7.0.2-2-cachyos
Arch: amd64
Network interface: Ethernet, IPv4 working, IPv6 enabled

The app discovers the other device and attempts to connect, but fails with:

java.net.SocketException: Address family not supported by protocol
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at nq6.invokeSuspend(SourceFile:46)
at x10.resumeWith(SourceFile:5)
at wj3.run(SourceFile:165)
at hx7.run(SourceFile:1)
at xne.run(SourceFile:1)
at y62.run(SourceFile:261)

I also saw related errors earlier:

Failed to start the legacy server on port 0
java.net.SocketException: Protocol family unavailable

Creating the search socket failed
java.nio.channels.UnsupportedAddressTypeException

UDP search failed
com.azefsw.audioconnect.discovery.search.ServerSearchException: java.nio.channels.UnsupportedAddressTypeException

IPv6 is enabled on the system, and nothing appears to be using port 29150. I also tried forcing IPv4 with Java options, but the same bind/connect issue remained. Replacing the bundled runtime with system Java 26 got past some networking behavior but crashed Skiko/UI, so it seems tied to the bundled runtime or native networking behavior on this distro/kernel.

Is there a recommended JVM/runtime version or launch flag for Linux alpha07, or a way to force AudioRelay to bind/connect using IPv4 only?

I’ve been pretty patient with this. Been more than a week without a response from devs. Can I please get a response on this issue?

I could somewhat repro your issue by running AudioRelay like this

cd <where audio relay is installed>
_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true" ./bin/AudioRelay

Then, trying to connect to an IPv6 address, I get the same SocketException.
Connecting to an IPv4 address still works, though. (Sending audio seems OK but, receiving fails with a bind issue)

What happens on your end when you try to manually connect to an IPv4 address?

Do you think that this property could be set somewhere?
Could you try this?

cd <where audio relay is installed>
# Set to false
_JAVA_OPTIONS="-Djava.net.preferIPv4Stack=false" ./bin/AudioRelay

I’ll need to update the app to handle this situation.

Can confirm it just chokes on .local but connecting to the ip directly works fine:

1.0.0-alpha07 2026-05-14 01:33:12.615 INFO    Dispatcher-worker-12 kt                   zeroconf registration
established
1.0.0-alpha07 2026-05-14 01:33:24.252 INFO    AWT-EventQueue-0                          Requesting connection
to Matthews-Mac-mini
1.0.0-alpha07 2026-05-14 01:33:24.256 INFO    tDispatcher-worker-3                      Connecting to server:
Matthews-Mac-mini.local:29150...
1.0.0-alpha07 2026-05-14 01:33:24.257 INFO    tDispatcher-worker-3                      Binding to local addre
ss WithoutPort(host=192.168.1.2, networkIdentity=Indexed(index=2, name='enp4s0')) which corresponds to the net
work interface enp4s0...
1.0.0-alpha07 2026-05-14 01:33:24.257 INFO    tDispatcher-worker-3                      Connecting to Matthews
-Mac-mini.local:29150...
1.0.0-alpha07 2026-05-14 01:33:24.257 INFO    tDispatcher-worker-3                      Initial RSocket connec
tion failed: Address family not supported by protocol
1.0.0-alpha07 2026-05-14 01:33:24.257 WARNING tDispatcher-worker-3 kx1                  Connecting to 'Matthew
s-Mac-mini' (WithPort(host=Matthews-Mac-mini.local, port=29150, networkIdentity=Indexed(index=2, name='enp4s0'
))) failed
java.net.SocketException: Address family not supported by protocol
at java.base/sun.nio.ch.Net.connect0(Native Method)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.Net.connect(Unknown Source)
at java.base/sun.nio.ch.NioSocketImpl.connect(Unknown Source)
at java.base/java.net.SocksSocketImpl.connect(Unknown Source)
at java.base/java.net.Socket.connect(Unknown Source)
at java.base/sun.security.ssl.SSLSocketImpl.connect(Unknown Source)
at nq6.invokeSuspend(SourceFile:46)
at x10.resumeWith(SourceFile:5)
at wj3.run(SourceFile:165)
at hx7.run(SourceFile:1)
at xne.run(SourceFile:1)
at y62.run(SourceFile:261)

Thanks for reporting back, could you please also confirm whether it fails to connect if you select one of IPv6 address(es)? Or is it just when connecting via the .local address?

Only works on ipv4 in this build.

So for now, the app will prioritize IPv4 addresses. (Since since 1.0.0-alpha08)