@ -144,7 +144,7 @@ namespace MediaBrowser.Dlna.Ssdp
//var protocol = isMulticast ? "Multicast" : "Unicast";
//var localEndPointString = args.LocalEndPoint == null ? "null" : args.LocalEndPoint.ToString();
//_logger.Debug("IGNORING {0} message received from {1} on {3}. Protocol: {4} Headers: {2}", args.Method, args.EndPoint, headerText, localEndPointString, protocol);
return true ;
}
}
@ -164,7 +164,7 @@ namespace MediaBrowser.Dlna.Ssdp
return true ;
}
}
return false ;
}
@ -303,9 +303,17 @@ namespace MediaBrowser.Dlna.Ssdp
var msg = new SsdpMessageBuilder ( ) . BuildMessage ( header , values ) ;
SendDatagram ( msg , endpoint , null , false , 2 ) ;
SendDatagram ( msg , endpoint , new IPEndPoint ( d . Address , 0 ) , false , 2 ) ;
//SendDatagram(header, values, endpoint, null, true);
var ipEndPoint = endpoint as IPEndPoint ;
if ( ipEndPoint ! = null )
{
SendUnicastRequest ( msg , ipEndPoint ) ;
}
else
{
SendDatagram ( msg , endpoint , null , false , 2 ) ;
SendDatagram ( msg , endpoint , new IPEndPoint ( d . Address , 0 ) , false , 2 ) ;
//SendDatagram(header, values, endpoint, null, true);
}
if ( enableDebugLogging )
{
@ -583,12 +591,12 @@ namespace MediaBrowser.Dlna.Ssdp
}
catch ( ObjectDisposedException )
{
}
}
}
private async void SendUnicastRequest ( string request , int sendCount = 3 )
private void SendUnicastRequest ( string request , int sendCount = 3 )
{
if ( _unicastClient = = null )
{
@ -597,10 +605,23 @@ namespace MediaBrowser.Dlna.Ssdp
_logger . Debug ( "Sending unicast search request" ) ;
byte [ ] req = Encoding . ASCII . GetBytes ( request ) ;
var ipSsdp = IPAddress . Parse ( SSDPAddr ) ;
var ipTxEnd = new IPEndPoint ( ipSsdp , SSDPPort ) ;
SendUnicastRequest ( request , ipTxEnd , sendCount ) ;
}
private async void SendUnicastRequest ( string request , IPEndPoint toEndPoint , int sendCount = 3 )
{
if ( _unicastClient = = null )
{
return ;
}
_logger . Debug ( "Sending unicast search request" ) ;
byte [ ] req = Encoding . ASCII . GetBytes ( request ) ;
try
{
for ( var i = 0 ; i < sendCount ; i + + )
@ -609,7 +630,7 @@ namespace MediaBrowser.Dlna.Ssdp
{
await Task . Delay ( 50 ) . ConfigureAwait ( false ) ;
}
_unicastClient . Send ( req , req . Length , ipTxEnd ) ;
_unicastClient . Send ( req , req . Length , toEndPoint ) ;
}
}
catch ( Exception ex )