Small refactor for receiving messages from websockets

This commit is contained in:
2023-04-22 13:57:10 +02:00
parent fa51c76279
commit b2fb4b33dd
4 changed files with 46 additions and 27 deletions

View File

@@ -19,4 +19,18 @@ public static class WebsocketManager
SendAsync(socket, message);
}
}
public static async Task<WebSocketResponse> ReceiveAsync(WebSocket webSocket)
{
var buffer = new byte[4096];
var arraySegment = new ArraySegment<byte>(buffer);
var result = await webSocket.ReceiveAsync(arraySegment, CancellationToken.None);
var slicedBuffer = buffer[0..result.Count];
return new WebSocketResponse(result, slicedBuffer);
}
public static async void CloseAsync(WebSocket webSocket, WebSocketReceiveResult result)
{
await webSocket.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None);
}
}