aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-13 11:02:40 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-13 11:02:40 -0400
commit1591558fc000f4330744a31e934c87cb5e4bb2c4 (patch)
tree2b619418391a97896a34a47160333bc1cc788241
parentef6c513ede7203f7b03490c44a222dfaf8311eac (diff)
fixes #526 - Make server startup error message friendlier
-rw-r--r--MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs9
-rw-r--r--MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs12
-rw-r--r--MediaBrowser.ServerApplication/ApplicationHost.cs4
3 files changed, 21 insertions, 4 deletions
diff --git a/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs b/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs
index 6cddcdf2e..1a56005dc 100644
--- a/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs
+++ b/MediaBrowser.Server.Implementations/ServerManager/ServerManager.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common;
+using System.Net.Sockets;
+using MediaBrowser.Common;
using MediaBrowser.Common.Net;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Configuration;
@@ -169,6 +170,12 @@ namespace MediaBrowser.Server.Implementations.ServerManager
HttpServer.EnableHttpRequestLogging = ConfigurationManager.Configuration.EnableHttpLevelLogging;
HttpServer.Start(_applicationHost.HttpServerUrlPrefix);
}
+ catch (SocketException ex)
+ {
+ _logger.ErrorException("The http server is unable to start due to a Socket error. This can occasionally happen when the operating system takes longer than usual to release the IP bindings from the previous session. This can take up to five minutes. Please try waiting or rebooting the system.", ex);
+
+ throw;
+ }
catch (HttpListenerException ex)
{
_logger.ErrorException("Error starting Http Server", ex);
diff --git a/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs b/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs
index 797c4a80c..6649fd197 100644
--- a/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs
+++ b/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs
@@ -4,6 +4,7 @@ using MediaBrowser.Common.Net;
using MediaBrowser.Model.Logging;
using System;
using System.Net;
+using System.Net.Sockets;
namespace MediaBrowser.Server.Implementations.WebSocket
{
@@ -60,7 +61,16 @@ namespace MediaBrowser.Server.Implementations.WebSocket
TimeOut = TimeSpan.FromHours(12)
};
- WebSocketServer.Start();
+ try
+ {
+ WebSocketServer.Start();
+ }
+ catch (SocketException ex)
+ {
+ _logger.ErrorException("The web socket server is unable to start on port {0} due to a Socket error. This can occasionally happen when the operating system takes longer than usual to release the IP bindings from the previous session. This can take up to five minutes. Please try waiting or rebooting the system.", ex, portNumber);
+
+ throw;
+ }
Port = portNumber;
diff --git a/MediaBrowser.ServerApplication/ApplicationHost.cs b/MediaBrowser.ServerApplication/ApplicationHost.cs
index 322420545..57b39c209 100644
--- a/MediaBrowser.ServerApplication/ApplicationHost.cs
+++ b/MediaBrowser.ServerApplication/ApplicationHost.cs
@@ -1,5 +1,4 @@
-using System.Threading;
-using MediaBrowser.Api;
+using MediaBrowser.Api;
using MediaBrowser.Common;
using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Constants;
@@ -57,6 +56,7 @@ using System.Net;
using System.Net.Cache;
using System.Net.Http;
using System.Reflection;
+using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.ServerApplication