diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs b/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs index 14d468a8e..251083dc2 100644 --- a/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs +++ b/MediaBrowser.Server.Implementations/WebSocket/AlchemyServer.cs @@ -4,7 +4,6 @@ using MediaBrowser.Common.Net; using MediaBrowser.Model.Logging; using System; using System.Net; -using System.Net.Sockets; namespace MediaBrowser.Server.Implementations.WebSocket { @@ -29,6 +28,8 @@ namespace MediaBrowser.Server.Implementations.WebSocket /// </summary> private readonly ILogger _logger; + private bool _hasStopped; + /// <summary> /// Initializes a new instance of the <see cref="AlchemyServer" /> class. /// </summary> @@ -57,6 +58,8 @@ namespace MediaBrowser.Server.Implementations.WebSocket /// <param name="portNumber">The port number.</param> public void Start(int portNumber) { + _logger.Info("Starting Alchemy web socket server on port {0}", portNumber); + try { WebSocketServer = new WebSocketServer(portNumber, IPAddress.Any) @@ -87,6 +90,11 @@ namespace MediaBrowser.Server.Implementations.WebSocket /// <param name="context">The context.</param> private void OnAlchemyWebSocketClientConnected(UserContext context) { + if (_hasStopped) + { + return; + } + if (WebSocketConnected != null) { var socket = new AlchemyWebSocket(context, _logger); @@ -127,6 +135,8 @@ namespace MediaBrowser.Server.Implementations.WebSocket /// <param name="dispose"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param> protected virtual void Dispose(bool dispose) { + _hasStopped = true; + lock (_syncLock) { if (WebSocketServer != null) |
