Parcourir la source

Fix some ssdp errors

Shadowghost il y a 2 ans
Parent
commit
05458a4a42
2 fichiers modifiés avec 5 ajouts et 5 suppressions
  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>();
 
-            sockets.Add(_SocketFactory.CreateSsdpUdpSocket(IPAddress.Any, _LocalPort));
-
             if (_enableMultiSocketBinding)
             {
                 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)
             {

+ 1 - 3
RSSDP/SsdpDevicePublisher.cs

@@ -298,9 +298,7 @@ namespace Rssdp.Infrastructure
                     foreach (var device in deviceList)
                     {
                         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);
                         }