diff options
| author | oledfish <88390729+oledfish@users.noreply.github.com> | 2022-01-16 21:33:18 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-16 21:33:18 -0300 |
| commit | 3b075a58027be4a2a3bdf662c70934f6cafafe87 (patch) | |
| tree | b4c226f25f843c3f2685c92e1edc3b3999716d34 /Emby.Server.Implementations/Udp | |
| parent | 86a5e72a65df638df2cde349ccd2ad8c5d40f88c (diff) | |
| parent | ef0708d876434a99ec647473c37295fab45a35fb (diff) | |
Merge branch 'jellyfin:master' into additional-episode-orders
Diffstat (limited to 'Emby.Server.Implementations/Udp')
| -rw-r--r-- | Emby.Server.Implementations/Udp/UdpServer.cs | 22 |
1 files changed, 6 insertions, 16 deletions
diff --git a/Emby.Server.Implementations/Udp/UdpServer.cs b/Emby.Server.Implementations/Udp/UdpServer.cs index 8179e26c5e..c8ab99de41 100644 --- a/Emby.Server.Implementations/Udp/UdpServer.cs +++ b/Emby.Server.Implementations/Udp/UdpServer.cs @@ -29,10 +29,10 @@ namespace Emby.Server.Implementations.Udp private readonly IServerApplicationHost _appHost; private readonly IConfiguration _config; - private Socket _udpSocket; - private IPEndPoint _endpoint; private readonly byte[] _receiveBuffer = new byte[8192]; + private Socket _udpSocket; + private IPEndPoint _endpoint; private bool _disposed = false; /// <summary> @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.Udp _udpSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true); } - private async Task RespondToV2Message(string messageText, EndPoint endpoint, CancellationToken cancellationToken) + private async Task RespondToV2Message(EndPoint endpoint, CancellationToken cancellationToken) { string? localUrl = _config[AddressOverrideConfigKey]; if (string.IsNullOrEmpty(localUrl)) @@ -76,7 +76,7 @@ namespace Emby.Server.Implementations.Udp try { - await _udpSocket.SendToAsync(JsonSerializer.SerializeToUtf8Bytes(response), SocketFlags.None, endpoint).ConfigureAwait(false); + await _udpSocket.SendToAsync(JsonSerializer.SerializeToUtf8Bytes(response), SocketFlags.None, endpoint, cancellationToken).ConfigureAwait(false); } catch (SocketException ex) { @@ -97,25 +97,15 @@ namespace Emby.Server.Implementations.Udp private async Task BeginReceiveAsync(CancellationToken cancellationToken) { - var infiniteTask = Task.Delay(-1, cancellationToken); while (!cancellationToken.IsCancellationRequested) { try { - var task = _udpSocket.ReceiveFromAsync(_receiveBuffer, SocketFlags.None, _endpoint); - await Task.WhenAny(task, infiniteTask).ConfigureAwait(false); - - if (!task.IsCompleted) - { - return; - } - - var result = task.Result; - + var result = await _udpSocket.ReceiveFromAsync(_receiveBuffer, SocketFlags.None, _endpoint, cancellationToken).ConfigureAwait(false); var text = Encoding.UTF8.GetString(_receiveBuffer, 0, result.ReceivedBytes); if (text.Contains("who is JellyfinServer?", StringComparison.OrdinalIgnoreCase)) { - await RespondToV2Message(text, result.RemoteEndPoint, cancellationToken).ConfigureAwait(false); + await RespondToV2Message(result.RemoteEndPoint, cancellationToken).ConfigureAwait(false); } } catch (SocketException ex) |
