live player info in client

This commit is contained in:
Vinzenz Schroeter 2024-04-22 19:03:07 +02:00
parent fb675e59ff
commit a50a9770c9
14 changed files with 193 additions and 70 deletions

View file

@ -2,22 +2,24 @@ namespace TanksServer.Interactivity;
internal abstract class WebsocketServerConnection(
ILogger logger,
ByteChannelWebSocket socket)
ByteChannelWebSocket socket
)
{
protected readonly ByteChannelWebSocket Socket = socket;
protected readonly ILogger Logger = logger;
public Task CloseAsync()
{
logger.LogDebug("closing connection");
Logger.LogDebug("closing connection");
return Socket.CloseAsync();
}
public async Task ReceiveAsync()
{
await foreach (var buffer in Socket.ReadAllAsync())
HandleMessage(buffer);
logger.LogTrace("done receiving");
await HandleMessageAsync(buffer);
Logger.LogTrace("done receiving");
}
protected abstract void HandleMessage(Memory<byte> buffer);
protected abstract ValueTask HandleMessageAsync(Memory<byte> buffer);
}