mirror of
https://gitlab.futo.org/videostreaming/grayjay.git
synced 2025-04-29 14:14:28 +02:00
Explicitly set network interface in joinGroup.
This commit is contained in:
parent
14500e281c
commit
d9d00e452e
@ -7,6 +7,7 @@ import java.util.*
|
|||||||
import java.util.concurrent.locks.ReentrantLock
|
import java.util.concurrent.locks.ReentrantLock
|
||||||
import kotlin.concurrent.withLock
|
import kotlin.concurrent.withLock
|
||||||
|
|
||||||
|
|
||||||
class MDNSListener {
|
class MDNSListener {
|
||||||
companion object {
|
companion object {
|
||||||
private val TAG = "MDNSListener"
|
private val TAG = "MDNSListener"
|
||||||
@ -60,6 +61,7 @@ class MDNSListener {
|
|||||||
reuseAddress = true
|
reuseAddress = true
|
||||||
bind(InetSocketAddress(InetAddress.getByName("0.0.0.0"), MulticastPort))
|
bind(InetSocketAddress(InetAddress.getByName("0.0.0.0"), MulticastPort))
|
||||||
}
|
}
|
||||||
|
|
||||||
_receiver4 = receiver4
|
_receiver4 = receiver4
|
||||||
|
|
||||||
val receiver6 = MulticastSocket(null).apply {
|
val receiver6 = MulticastSocket(null).apply {
|
||||||
@ -171,7 +173,9 @@ class MDNSListener {
|
|||||||
is Inet4Address -> {
|
is Inet4Address -> {
|
||||||
_receiver4?.let { receiver4 ->
|
_receiver4?.let { receiver4 ->
|
||||||
//receiver4.setOption(StandardSocketOptions.IP_MULTICAST_IF, NetworkInterface.getByInetAddress(address))
|
//receiver4.setOption(StandardSocketOptions.IP_MULTICAST_IF, NetworkInterface.getByInetAddress(address))
|
||||||
receiver4.joinGroup(InetSocketAddress(MulticastAddressIPv4, MulticastPort), NetworkInterface.getByInetAddress(address))
|
val ni = NetworkInterface.getByInetAddress(address)
|
||||||
|
receiver4.networkInterface = ni
|
||||||
|
receiver4.joinGroup(InetSocketAddress(MulticastAddressIPv4, MulticastPort), ni)
|
||||||
}
|
}
|
||||||
|
|
||||||
val sender = MulticastSocket(null).apply {
|
val sender = MulticastSocket(null).apply {
|
||||||
@ -185,7 +189,9 @@ class MDNSListener {
|
|||||||
is Inet6Address -> {
|
is Inet6Address -> {
|
||||||
_receiver6?.let { receiver6 ->
|
_receiver6?.let { receiver6 ->
|
||||||
//receiver6.setOption(StandardSocketOptions.IP_MULTICAST_IF, NetworkInterface.getByInetAddress(address))
|
//receiver6.setOption(StandardSocketOptions.IP_MULTICAST_IF, NetworkInterface.getByInetAddress(address))
|
||||||
receiver6.joinGroup(InetSocketAddress(MulticastAddressIPv6, MulticastPort), NetworkInterface.getByInetAddress(address))
|
val ni = NetworkInterface.getByInetAddress(address)
|
||||||
|
receiver6.networkInterface = ni
|
||||||
|
receiver6.joinGroup(InetSocketAddress(MulticastAddressIPv6, MulticastPort), ni)
|
||||||
}
|
}
|
||||||
|
|
||||||
val sender = MulticastSocket(null).apply {
|
val sender = MulticastSocket(null).apply {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user