aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
diff options
context:
space:
mode:
authorClaus Vium <clausvium@gmail.com>2019-02-26 19:48:18 +0100
committerClaus Vium <clausvium@gmail.com>2019-02-26 22:11:21 +0100
commit5a7cca9d1bdc5280626a6654cdbd8c0d45016af5 (patch)
treeca1e1904c863a4e59d839ab301737713fd2719b7 /Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
parentd6c6f3c10cff68b11df884be502c58a17da0d332 (diff)
Fix websockets and RawUrl
Diffstat (limited to 'Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs')
-rw-r--r--Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs13
1 files changed, 11 insertions, 2 deletions
diff --git a/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs b/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
index b64fc0683..05f159b4e 100644
--- a/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
+++ b/Emby.Server.Implementations/SocketSharp/WebSocketSharpListener.cs
@@ -160,6 +160,15 @@ using Microsoft.Extensions.Logging;
var buffer = WebSocket.CreateClientBuffer(1024 * 4, 1024 * 4);
WebSocketReceiveResult result = await webSocketContext.ReceiveAsync(buffer, CancellationToken.None);
socket.OnReceiveBytes(buffer.Array);
+
+ while (result.MessageType != WebSocketMessageType.Close)
+ {
+ result = await webSocketContext.ReceiveAsync(buffer, CancellationToken.None);
+ socket.OnReceiveBytes(buffer.Array);
+ }
+ await webSocketContext.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None);
+ socket.Dispose();
+
//while (!result.CloseStatus.HasValue)
//{
// await webSocketContext.SendAsync(new ArraySegment<byte>(buffer, 0, result.Count), result.MessageType, result.EndOfMessage, CancellationToken.None);
@@ -173,11 +182,11 @@ using Microsoft.Extensions.Logging;
// WebSocket = webSocketContext,
// Endpoint = endpoint
//});
- await webSocketContext.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None);
+ //await webSocketContext.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None);
//SharpWebSocket socket = new SharpWebSocket(webSocketContext, _logger);
//await socket.ConnectAsServerAsync().ConfigureAwait(false);
-
+
//await ReceiveWebSocketAsync(ctx, socket).ConfigureAwait(false);
}