Shadowghost преди 2 години
родител
ревизия
05458a4a42
променени са 2 файла, в които са добавени 5 реда и са изтрити 5 реда
  1. 4 2
      RSSDP/SsdpCommunicationsServer.cs
  2. 1 3
      RSSDP/SsdpDevicePublisher.cs

+ 4 - 2
RSSDP/SsdpCommunicationsServer.cs

@@ -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)
             {
             {

+ 1 - 3
RSSDP/SsdpDevicePublisher.cs

@@ -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);
-                        var destination = new IPData(remoteEndPoint.Address, new IPNetwork(root.Address, root.PrefixLength));
-                        if (!_sendOnlyMatchedHost || source.Address.Equals(destination.Address))
+                        if (!_sendOnlyMatchedHost || root.Address.Equals(remoteEndPoint.Address))
                         {
                         {
                             SendDeviceSearchResponses(device, remoteEndPoint, receivedOnlocalIpAddress, cancellationToken);
                             SendDeviceSearchResponses(device, remoteEndPoint, receivedOnlocalIpAddress, cancellationToken);
                         }
                         }