aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Jellyfin.Networking/AutoDiscoveryHost.cs41
1 files changed, 8 insertions, 33 deletions
diff --git a/src/Jellyfin.Networking/AutoDiscoveryHost.cs b/src/Jellyfin.Networking/AutoDiscoveryHost.cs
index 4f7a28d54..7bfa3b7be 100644
--- a/src/Jellyfin.Networking/AutoDiscoveryHost.cs
+++ b/src/Jellyfin.Networking/AutoDiscoveryHost.cs
@@ -58,10 +58,7 @@ public sealed class AutoDiscoveryHost : BackgroundService
return;
}
- var udpServers = new List<Task>();
- udpServers.Add(ListenForAutoDiscoveryMessage(IPAddress.Any, IPAddress.Any, stoppingToken));
-
- await Task.WhenAll(udpServers).ConfigureAwait(false);
+ await ListenForAutoDiscoveryMessage(IPAddress.Any, IPAddress.Any, stoppingToken).ConfigureAwait(false);
}
private async Task ListenForAutoDiscoveryMessage(IPAddress listenAddress, IPAddress respondAddress, CancellationToken cancellationToken)
@@ -109,38 +106,16 @@ public sealed class AutoDiscoveryHost : BackgroundService
}
var response = new ServerDiscoveryInfo(localUrl, _appHost.SystemId, _appHost.FriendlyName);
- var listenerEndpoint = (IPEndPoint?)broadCastUdpClient.Client.LocalEndPoint;
- var listenerIp = listenerEndpoint?.Address;
-
- // Reuse the UdpClient if listener IP equals to responder, otherwise create a new one and respond with that
- if (Equals(listenerIp, responderIp))
+ try
{
- try
- {
- _logger.LogDebug("Sending AutoDiscovery response");
- await broadCastUdpClient
- .SendAsync(JsonSerializer.SerializeToUtf8Bytes(response).AsMemory(), endpoint, cancellationToken)
- .ConfigureAwait(false);
- }
- catch (SocketException ex)
- {
- _logger.LogError(ex, "Error sending response message");
- }
+ _logger.LogDebug("Sending AutoDiscovery response");
+ await broadCastUdpClient
+ .SendAsync(JsonSerializer.SerializeToUtf8Bytes(response).AsMemory(), endpoint, cancellationToken)
+ .ConfigureAwait(false);
}
- else
+ catch (SocketException ex)
{
- using var responder = new UdpClient(new IPEndPoint(responderIp, PortNumber));
- try
- {
- _logger.LogDebug("Sending AutoDiscovery response");
- await responder
- .SendAsync(JsonSerializer.SerializeToUtf8Bytes(response).AsMemory(), endpoint, cancellationToken)
- .ConfigureAwait(false);
- }
- catch (SocketException ex)
- {
- _logger.LogError(ex, "Error sending response message");
- }
+ _logger.LogError(ex, "Error sending response message");
}
}
}