add startup error handling

This commit is contained in:
Luke Pulverenti
2016-06-30 00:23:52 -04:00
parent cbeb77c0ad
commit 525f780453
8 changed files with 39 additions and 37 deletions

View File

@@ -44,11 +44,12 @@ namespace MediaBrowser.Server.Implementations.Connect
LoadCachedAddress();
_timer = new PeriodicTimer(TimerCallback, null, TimeSpan.FromSeconds(5), TimeSpan.FromHours(3));
((ConnectManager)_connectManager).Start();
}
private readonly string[] _ipLookups =
{
"http://bot.whatismyipaddress.com",
"http://bot.whatismyipaddress.com",
"https://connect.emby.media/service/ip"
};
@@ -78,17 +79,18 @@ namespace MediaBrowser.Server.Implementations.Connect
}
// If this produced an ipv6 address, try again
if (validIpAddress == null || validIpAddress.AddressFamily == AddressFamily.InterNetworkV6)
if (validIpAddress != null && validIpAddress.AddressFamily == AddressFamily.InterNetworkV6)
{
foreach (var ipLookupUrl in _ipLookups)
{
try
{
validIpAddress = await GetIpAddress(ipLookupUrl, true).ConfigureAwait(false);
var newAddress = await GetIpAddress(ipLookupUrl, true).ConfigureAwait(false);
// Try to find the ipv4 address, if present
if (validIpAddress.AddressFamily == AddressFamily.InterNetwork)
if (newAddress.AddressFamily == AddressFamily.InterNetwork)
{
validIpAddress = newAddress;
break;
}
}

View File

@@ -139,11 +139,14 @@ namespace MediaBrowser.Server.Implementations.Connect
_securityManager = securityManager;
_fileSystem = fileSystem;
_config.ConfigurationUpdated += _config_ConfigurationUpdated;
LoadCachedData();
}
internal void Start()
{
_config.ConfigurationUpdated += _config_ConfigurationUpdated;
}
internal void OnWanAddressResolved(IPAddress address)
{
DiscoveredWanIpAddress = address;