Selaa lähdekoodia

Check websocket state before closing

Claus Vium 6 vuotta sitten
vanhempi
sitoutus
dab8e15052

+ 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);
                     } 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();
                     socket.Dispose();
                 }
                 }
                 else
                 else