2024-04-07 01:27:11 +02:00
|
|
|
using System.Net.WebSockets;
|
|
|
|
|
2024-04-10 19:25:45 +02:00
|
|
|
namespace TanksServer.Interactivity;
|
2024-04-07 00:33:54 +02:00
|
|
|
|
2024-04-21 23:00:44 +02:00
|
|
|
internal sealed class ControlsServer(
|
|
|
|
ILogger<ControlsServer> logger,
|
|
|
|
ILoggerFactory loggerFactory
|
|
|
|
) : WebsocketServer<ControlsServerConnection>(logger)
|
2024-04-07 00:33:54 +02:00
|
|
|
{
|
2024-04-21 23:00:44 +02:00
|
|
|
public async Task HandleClientAsync(WebSocket ws, Player player)
|
2024-04-07 01:27:11 +02:00
|
|
|
{
|
|
|
|
logger.LogDebug("control client connected {}", player.Id);
|
|
|
|
var clientLogger = loggerFactory.CreateLogger<ControlsServerConnection>();
|
2024-04-21 23:00:44 +02:00
|
|
|
var sock = new ControlsServerConnection(ws, clientLogger, player);
|
|
|
|
await AddConnection(sock);
|
2024-04-21 23:21:15 +02:00
|
|
|
await sock.ReceiveAsync();
|
2024-04-21 23:00:44 +02:00
|
|
|
await RemoveConnection(sock);
|
2024-04-07 01:27:11 +02:00
|
|
|
}
|
2024-04-07 00:33:54 +02:00
|
|
|
}
|