aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Dlna/Ssdp/SsdpHandler.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Dlna/Ssdp/SsdpHandler.cs')
-rw-r--r--MediaBrowser.Dlna/Ssdp/SsdpHandler.cs19
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)