From 5b0c1829084b8f54cd5356880d82b75723badf81 Mon Sep 17 00:00:00 2001 From: BaronGreenback Date: Wed, 24 Jun 2020 14:31:17 +0100 Subject: Added logging and broadcast = true Not intended for merge into the fork. --- Emby.Server.Implementations/Net/SocketFactory.cs | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'Emby.Server.Implementations/Net') diff --git a/Emby.Server.Implementations/Net/SocketFactory.cs b/Emby.Server.Implementations/Net/SocketFactory.cs index 1777216584..bed79a9adc 100644 --- a/Emby.Server.Implementations/Net/SocketFactory.cs +++ b/Emby.Server.Implementations/Net/SocketFactory.cs @@ -4,6 +4,7 @@ using System; using System.Net; using System.Net.Sockets; using MediaBrowser.Model.Net; +using Microsoft.Extensions.Logging; namespace Emby.Server.Implementations.Net { @@ -67,7 +68,7 @@ namespace Emby.Server.Implementations.Net /// The multicast time to live value for the acceptSocket. /// The number of the local port to bind to. /// - public ISocket CreateUdpMulticastSocket(string ipAddress, int multicastTimeToLive, int localPort) + public ISocket CreateUdpMulticastSocket(string ipAddress, int multicastTimeToLive, int localPort, ILogger _logger) { if (ipAddress == null) { @@ -89,6 +90,8 @@ namespace Emby.Server.Implementations.Net throw new ArgumentException("localPort cannot be less than zero.", nameof(localPort)); } + _logger.LogError("Created"); + var retVal = new Socket(AddressFamily.InterNetwork, System.Net.Sockets.SocketType.Dgram, System.Net.Sockets.ProtocolType.Udp); try @@ -100,6 +103,8 @@ namespace Emby.Server.Implementations.Net { } + _logger.LogError("Exclusive false"); + try { // seeing occasional exceptions thrown on qnap @@ -110,8 +115,14 @@ namespace Emby.Server.Implementations.Net { } + _logger.LogError("Reused"); + try { + retVal.EnableBroadcast = true; // CHANGE + + _logger.LogError("Broadcast"); + // retVal.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Broadcast, true); retVal.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive, multicastTimeToLive); @@ -120,6 +131,8 @@ namespace Emby.Server.Implementations.Net retVal.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse(ipAddress), localIp)); retVal.MulticastLoopback = true; + _logger.LogError("Sorted"); + return new UdpSocket(retVal, localPort, localIp); } catch -- cgit v1.2.3