浏览代码

Check websocket state before closing

Claus Vium 6 年之前
父节点
当前提交
dab8e15052
共有 1 个文件被更改,包括 6 次插入2 次删除
  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