diff options
Diffstat (limited to 'MediaBrowser.Dlna/Ssdp/SsdpHandler.cs')
| -rw-r--r-- | MediaBrowser.Dlna/Ssdp/SsdpHandler.cs | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs index 10a9575be2..bd3098ecd6 100644 --- a/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs +++ b/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs @@ -1,6 +1,4 @@ -using System.Globalization; -using System.Threading.Tasks; -using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Configuration; using MediaBrowser.Common.Events; using MediaBrowser.Controller.Configuration; using MediaBrowser.Dlna.Server; @@ -8,11 +6,13 @@ using MediaBrowser.Model.Logging; using System; using System.Collections.Concurrent; using System.Collections.Generic; +using System.Globalization; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; +using System.Threading.Tasks; namespace MediaBrowser.Dlna.Ssdp { @@ -124,18 +124,19 @@ namespace MediaBrowser.Dlna.Ssdp EndPoint localAddress, int sendCount = 1) { - SendDatagram(header, values, _ssdpEndp, localAddress, sendCount); + SendDatagram(header, values, _ssdpEndp, localAddress, false, sendCount); } public void SendDatagram(string header, Dictionary<string, string> values, EndPoint endpoint, EndPoint localAddress, + bool ignoreBindFailure, int sendCount = 1) { var msg = new SsdpMessageBuilder().BuildMessage(header, values); - var dgram = new Datagram(endpoint, localAddress, _logger, msg, sendCount); + var dgram = new Datagram(endpoint, localAddress, _logger, msg, sendCount, ignoreBindFailure); if (_messageQueue.Count == 0) { @@ -171,7 +172,9 @@ namespace MediaBrowser.Dlna.Ssdp values["ST"] = d.Type; values["USN"] = d.USN; - SendDatagram(header, values, endpoint, null); + SendDatagram(header, values, endpoint, null, true); + SendDatagram(header, values, endpoint, new IPEndPoint(d.Address, 0), true); + //SendDatagram(header, values, endpoint, null, true); if (_config.GetDlnaConfiguration().EnableDebugLogging) { @@ -245,6 +248,10 @@ namespace MediaBrowser.Dlna.Ssdp catch (ObjectDisposedException) { } + catch (Exception ex) + { + _logger.Debug("Error in BeginReceiveFrom", ex); + } } private void ReceiveCallback(IAsyncResult result) |
