Files
MauMau-Server/Websockets/WebsocketManager.cs
DTieman 3b765841b7
All checks were successful
Build Mau & Deploy Mau / build (push) Successful in 1m6s
Build Mau & Deploy Mau / deploy (push) Has been skipped
Build Mau & Deploy Mau / build (pull_request) Successful in 1m3s
Build Mau & Deploy Mau / deploy (pull_request) Has been skipped
Better messaging and better rule implementation
2024-05-19 23:49:25 +02:00

24 lines
882 B
C#

using System.Net.WebSockets;
using System.Text;
namespace MauMau_Server.Websockets;
public static class WebsocketManager
{
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)
{
if (webSocket.State is WebSocketState.Open or WebSocketState.CloseReceived or WebSocketState.CloseSent)
{
await webSocket.CloseAsync(result.CloseStatus.Value, result.CloseStatusDescription, CancellationToken.None);
}
}
}