mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-07 11:57:55 +02:00
This will be the right way for multiple interfaces, or the client will receive all devices message with different IP addresses and could not detect which one could access. And provide one option DlnaOptions.SendOnlyMatchedHost to fallback to old behaviour if this commit missed something.
38 lines
1.2 KiB
C#
38 lines
1.2 KiB
C#
using System;
|
|
|
|
namespace MediaBrowser.Model.Net
|
|
{
|
|
public class IpAddressInfo
|
|
{
|
|
public static IpAddressInfo Any = new IpAddressInfo("0.0.0.0", IpAddressFamily.InterNetwork);
|
|
public static IpAddressInfo IPv6Any = new IpAddressInfo("00000000000000000000", IpAddressFamily.InterNetworkV6);
|
|
public static IpAddressInfo Loopback = new IpAddressInfo("127.0.0.1", IpAddressFamily.InterNetwork);
|
|
public static IpAddressInfo IPv6Loopback = new IpAddressInfo("::1", IpAddressFamily.InterNetworkV6);
|
|
|
|
public string Address { get; set; }
|
|
public IpAddressInfo SubnetMask { get; set; }
|
|
public IpAddressFamily AddressFamily { get; set; }
|
|
|
|
public IpAddressInfo(string address, IpAddressFamily addressFamily)
|
|
{
|
|
Address = address;
|
|
AddressFamily = addressFamily;
|
|
}
|
|
|
|
public bool Equals(IpAddressInfo address)
|
|
{
|
|
return string.Equals(address.Address, Address, StringComparison.OrdinalIgnoreCase);
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
return Address;
|
|
}
|
|
}
|
|
|
|
public enum IpAddressFamily
|
|
{
|
|
InterNetwork,
|
|
InterNetworkV6
|
|
}
|
|
}
|