|
|
|
@ -109,30 +109,31 @@ namespace MediaBrowser.Dlna.Ssdp
|
|
|
|
|
|
|
|
|
|
var endPoint = new IPEndPoint(localIp, 1900);
|
|
|
|
|
|
|
|
|
|
var socket = GetMulticastSocket(localIp, endPoint);
|
|
|
|
|
|
|
|
|
|
var receiveBuffer = new byte[64000];
|
|
|
|
|
|
|
|
|
|
CreateNotifier(localIp);
|
|
|
|
|
|
|
|
|
|
while (!_tokenSource.IsCancellationRequested)
|
|
|
|
|
using (var socket = GetMulticastSocket(localIp, endPoint))
|
|
|
|
|
{
|
|
|
|
|
var receivedBytes = await socket.ReceiveAsync(receiveBuffer, 0, 64000);
|
|
|
|
|
var receiveBuffer = new byte[64000];
|
|
|
|
|
|
|
|
|
|
CreateNotifier(localIp);
|
|
|
|
|
|
|
|
|
|
if (receivedBytes > 0)
|
|
|
|
|
while (!_tokenSource.IsCancellationRequested)
|
|
|
|
|
{
|
|
|
|
|
var args = SsdpHelper.ParseSsdpResponse(receiveBuffer);
|
|
|
|
|
args.EndPoint = endPoint;
|
|
|
|
|
args.LocalEndPoint = new IPEndPoint(localIp, 0);
|
|
|
|
|
var receivedBytes = await socket.ReceiveAsync(receiveBuffer, 0, 64000);
|
|
|
|
|
|
|
|
|
|
if (_ssdpHandler.IgnoreMessage(args, true))
|
|
|
|
|
if (receivedBytes > 0)
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
var args = SsdpHelper.ParseSsdpResponse(receiveBuffer);
|
|
|
|
|
args.EndPoint = endPoint;
|
|
|
|
|
args.LocalEndPoint = new IPEndPoint(localIp, 0);
|
|
|
|
|
|
|
|
|
|
if (_ssdpHandler.IgnoreMessage(args, true))
|
|
|
|
|
{
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
_ssdpHandler.LogMessageReceived(args, true);
|
|
|
|
|
_ssdpHandler.LogMessageReceived(args, true);
|
|
|
|
|
|
|
|
|
|
TryCreateDevice(args);
|
|
|
|
|
TryCreateDevice(args);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|