IpAddressInfo.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. namespace MediaBrowser.Model.Net
  3. {
  4. public class IpAddressInfo
  5. {
  6. public static IpAddressInfo Any = new IpAddressInfo("0.0.0.0", IpAddressFamily.InterNetwork);
  7. public static IpAddressInfo IPv6Any = new IpAddressInfo("00000000000000000000", IpAddressFamily.InterNetworkV6);
  8. public static IpAddressInfo Loopback = new IpAddressInfo("127.0.0.1", IpAddressFamily.InterNetwork);
  9. public static IpAddressInfo IPv6Loopback = new IpAddressInfo("::1", IpAddressFamily.InterNetworkV6);
  10. public string Address { get; set; }
  11. public IpAddressFamily AddressFamily { get; set; }
  12. public IpAddressInfo()
  13. {
  14. }
  15. public IpAddressInfo(string address, IpAddressFamily addressFamily)
  16. {
  17. Address = address;
  18. AddressFamily = addressFamily;
  19. }
  20. public bool Equals(IpAddressInfo address)
  21. {
  22. return string.Equals(address.Address, Address, StringComparison.OrdinalIgnoreCase);
  23. }
  24. public override String ToString()
  25. {
  26. return Address;
  27. }
  28. }
  29. public enum IpAddressFamily
  30. {
  31. InterNetwork,
  32. InterNetworkV6
  33. }
  34. }