SnapixLP | Tim G. 67bfce265c Fehlerbehebung von TCP-Eingangsnachrichten beim Server (DX86.cs)
Implementierung CommandManager.cs in BackendServer.cs

Worker.cs umbennannt zu Employee.cs
WorkerState.cs umbenannt zu EmployeeState.cs

.help command eingefügt (HelpCommand.cs)

Management-Server auf port 3767 eingefügt (Program.cs)

Server-Connector (Server.cs) erste methoden eingefügt
GetEmployee
Login
Logout
clockin,clockout,clockbreak
2025-05-20 12:44:28 +02:00

54 lines
1.6 KiB
C#

using System.Net.Sockets;
using DX86.Modules;
namespace Server;
public class BackendServer : DX86.TcpServer
{
CommandManager commandManager;
public BackendServer(string address, int port, MessageSender ms) : base(address, port, ms)
{
ms.Log("[BACKENDSERVER] Setting up server.");
commandManager = new CommandManager();
ms.Log("[BACKENDSERVER] Server Setup Complete.");
}
public override string ToggleOption(string option, string value)
{
throw new NotImplementedException();
}
public override List<List<string>> ConfigureOptions(string option)
{
throw new NotImplementedException();
}
protected override void ClientConnectEvent(TcpClient client)
{
ms.Log("[BACKENDSERVER] Client connected: " + client.Client.RemoteEndPoint);
}
protected override void MessageReceivedEvent(TcpClient client, string message)
{
ms.Log("[BACKENDSERVER] Message received from client: " + message);
if (message.StartsWith("."))
{
handleCommand(cmd: message, client: client);
}
}
protected override void ClientDisconnectEvent(TcpClient client)
{
throw new NotImplementedException();
}
private void handleCommand(string cmd, TcpClient client)
{
string[] args = cmd.Split(' ');
string command = args[0].Substring(1); // Remove the leading dot
string[] commandArgs = args.Skip(1).ToArray(); // Get the arguments after the command
commandManager.ExecuteCommand(executor:command, args:commandArgs, client:client, clientSocket:this);
}
}