Browse Source

Check websocket state before closing

Claus Vium 6 years ago
parent
commit
dab8e15052
1 changed files with 6 additions and 2 deletions
  1. 6 2
      Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs

+ 6 - 2
Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs

@@ -93,8 +93,12 @@ using Microsoft.Extensions.Logging;
                     } while (socket.State == WebSocketState.Open && result.MessageType != WebSocketMessageType.Close);
 
 
-                    await webSocketContext.CloseAsync(result.CloseStatus ?? WebSocketCloseStatus.NormalClosure,
-                        result.CloseStatusDescription, _disposeCancellationToken);
+                    if (webSocketContext.State == WebSocketState.Open)
+                    {
+                        await webSocketContext.CloseAsync(result.CloseStatus ?? WebSocketCloseStatus.NormalClosure,
+                            result.CloseStatusDescription, _disposeCancellationToken);
+                    }
+
                     socket.Dispose();
                 }
                 else