wasSharpNET – Diff between revs 5 and 11

Subversion Repositories:
Rev:
Only display areas with differencesIgnore whitespace
Rev 5 Rev 11
1 /////////////////////////////////////////////////////////////////////////// 1 ///////////////////////////////////////////////////////////////////////////
2 // Copyright (C) Wizardry and Steamworks 2016 - License: GNU GPLv3 // 2 // Copyright (C) Wizardry and Steamworks 2016 - License: GNU GPLv3 //
3 // Please see: http://www.gnu.org/licenses/gpl.html for legal details, // 3 // Please see: http://www.gnu.org/licenses/gpl.html for legal details, //
4 // rights of fair usage, the disclaimer and warranty conditions. // 4 // rights of fair usage, the disclaimer and warranty conditions. //
5 /////////////////////////////////////////////////////////////////////////// 5 ///////////////////////////////////////////////////////////////////////////
6   6  
7 using System; 7 using System;
8 using System.Net; 8 using System.Net;
9   9  
10 namespace wasSharpNET.Network 10 namespace wasSharpNET.Network
11 { 11 {
12 /// <summary> 12 /// <summary>
13 /// IPAddress extensions. 13 /// IPAddress extensions.
14 /// </summary> 14 /// </summary>
15 /// <remarks>https://blogs.msdn.microsoft.com/knom/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks/</remarks> 15 /// <remarks>https://blogs.msdn.microsoft.com/knom/2008/12/31/ip-address-calculations-with-c-subnetmasks-networks/</remarks>
16 public static class IPAddressExtensions 16 public static class IPAddressExtensions
17 { 17 {
18 public static IPAddress GetBroadcastAddress(this IPAddress address, IPAddress subnetMask) 18 public static IPAddress GetBroadcastAddress(this IPAddress address, IPAddress subnetMask)
19 { 19 {
20 var ipAdressBytes = address.GetAddressBytes(); 20 var ipAdressBytes = address.GetAddressBytes();
21 var subnetMaskBytes = subnetMask.GetAddressBytes(); 21 var subnetMaskBytes = subnetMask.GetAddressBytes();
22   22  
23 if (ipAdressBytes.Length != subnetMaskBytes.Length) 23 if (ipAdressBytes.Length != subnetMaskBytes.Length)
24 throw new ArgumentException("Lengths of IP address and subnet mask do not match."); 24 throw new ArgumentException("Lengths of IP address and subnet mask do not match.");
25   25  
26 var broadcastAddress = new byte[ipAdressBytes.Length]; 26 var broadcastAddress = new byte[ipAdressBytes.Length];
27 for (var i = 0; i < broadcastAddress.Length; i++) 27 for (var i = 0; i < broadcastAddress.Length; i++)
28 { 28 {
29 broadcastAddress[i] = (byte) (ipAdressBytes[i] | (subnetMaskBytes[i] ^ 255)); 29 broadcastAddress[i] = (byte)(ipAdressBytes[i] | (subnetMaskBytes[i] ^ 255));
30 } 30 }
31 return new IPAddress(broadcastAddress); 31 return new IPAddress(broadcastAddress);
32 } 32 }
33   33  
34 public static IPAddress GetNetworkAddress(this IPAddress address, IPAddress subnetMask) 34 public static IPAddress GetNetworkAddress(this IPAddress address, IPAddress subnetMask)
35 { 35 {
36 var ipAdressBytes = address.GetAddressBytes(); 36 var ipAdressBytes = address.GetAddressBytes();
37 var subnetMaskBytes = subnetMask.GetAddressBytes(); 37 var subnetMaskBytes = subnetMask.GetAddressBytes();
38   38  
39 if (ipAdressBytes.Length != subnetMaskBytes.Length) 39 if (ipAdressBytes.Length != subnetMaskBytes.Length)
40 throw new ArgumentException("Lengths of IP address and subnet mask do not match."); 40 throw new ArgumentException("Lengths of IP address and subnet mask do not match.");
41   41  
42 var broadcastAddress = new byte[ipAdressBytes.Length]; 42 var broadcastAddress = new byte[ipAdressBytes.Length];
43 for (var i = 0; i < broadcastAddress.Length; i++) 43 for (var i = 0; i < broadcastAddress.Length; i++)
44 { 44 {
45 broadcastAddress[i] = (byte) (ipAdressBytes[i] & subnetMaskBytes[i]); 45 broadcastAddress[i] = (byte)(ipAdressBytes[i] & subnetMaskBytes[i]);
46 } 46 }
47 return new IPAddress(broadcastAddress); 47 return new IPAddress(broadcastAddress);
48 } 48 }
49   49  
50 public static bool IsInSameSubnet(this IPAddress address2, IPAddress address, IPAddress subnetMask) 50 public static bool IsInSameSubnet(this IPAddress address2, IPAddress address, IPAddress subnetMask)
51 { 51 {
52 var network1 = address.GetNetworkAddress(subnetMask); 52 var network1 = address.GetNetworkAddress(subnetMask);
53 var network2 = address2.GetNetworkAddress(subnetMask); 53 var network2 = address2.GetNetworkAddress(subnetMask);
54   54  
55 return network1.Equals(network2); 55 return network1.Equals(network2);
56 } 56 }
57 } 57 }
58 } -  
59   58 }
-   59  
60
Generated by GNU Enscript 1.6.5.90.
-  
61   -  
62   -  
63   -