Files
PVabel2026/CollabVM/Server/CollabVMGuacamoleServer.cs
2026-02-12 15:43:03 +01:00

41 lines
1.4 KiB
C#

using System.Net;
using System.Net.WebSockets;
using System.Text;
namespace CollabVM.Server
{
public class CollabVMGuacamoleServer
{
public async void HandleSocket(WebSocket ws, IPEndPoint remote)
{
Console.Error.WriteLine("new WebSocket, who dis?");
#warning we probably don't need this much
Byte[] buf = new Byte[1024];
try
{
while (ws.State == WebSocketState.Open)
{
#warning probably needs a real ctoken
WebSocketReceiveResult recResult = await ws.ReceiveAsync(new ArraySegment<Byte>(buf), CancellationToken.None);
Console.Error.WriteLine(recResult.MessageType);
switch (recResult.MessageType)
{
case WebSocketMessageType.Close:
await ws.CloseAsync(WebSocketCloseStatus.NormalClosure, "", CancellationToken.None);
break;
case WebSocketMessageType.Text:
String msg = Encoding.UTF8.GetString(buf, 0, recResult.Count);
Console.Error.WriteLine(msg);
break;
default:
throw new NotSupportedException();
}
}
} finally
{
ws.Dispose();
}
}
}
}