Fix some ssdp errors

pull/8147/head
Shadowghost 2 years ago
parent 358642c2d9
commit 05458a4a42

@ -348,8 +348,6 @@ namespace Rssdp.Infrastructure
{ {
var sockets = new List<ISocket>(); var sockets = new List<ISocket>();
sockets.Add(_SocketFactory.CreateSsdpUdpSocket(IPAddress.Any, _LocalPort));
if (_enableMultiSocketBinding) if (_enableMultiSocketBinding)
{ {
foreach (var address in _networkManager.GetInternalBindAddresses()) foreach (var address in _networkManager.GetInternalBindAddresses())
@ -370,6 +368,10 @@ namespace Rssdp.Infrastructure
} }
} }
} }
else
{
sockets.Add(_SocketFactory.CreateSsdpUdpSocket(IPAddress.Any, _LocalPort));
}
foreach (var socket in sockets) foreach (var socket in sockets)
{ {

@ -298,9 +298,7 @@ namespace Rssdp.Infrastructure
foreach (var device in deviceList) foreach (var device in deviceList)
{ {
var root = device.ToRootDevice(); var root = device.ToRootDevice();
var source = new IPData(root.Address, new IPNetwork(root.Address, root.PrefixLength), root.FriendlyName); if (!_sendOnlyMatchedHost || root.Address.Equals(remoteEndPoint.Address))
var destination = new IPData(remoteEndPoint.Address, new IPNetwork(root.Address, root.PrefixLength));
if (!_sendOnlyMatchedHost || source.Address.Equals(destination.Address))
{ {
SendDeviceSearchResponses(device, remoteEndPoint, receivedOnlocalIpAddress, cancellationToken); SendDeviceSearchResponses(device, remoteEndPoint, receivedOnlocalIpAddress, cancellationToken);
} }

Loading…
Cancel
Save