Abstürz behoben

This commit is contained in:
2023-08-02 10:00:40 +02:00
parent d64e49ce19
commit d0c4cc2a71
2 changed files with 19 additions and 17 deletions

View File

@@ -36,13 +36,13 @@ namespace CardMarketServer
while(true) while(true)
{ {
TcpClient clientSocket = ServerSocket.AcceptTcpClient(); TcpClient clientSocket = ServerSocket.AcceptTcpClient();
Console.WriteLine($"Client connected: {clientSocket.Client.RemoteEndPoint}"); //Console.WriteLine($"Client connected: {clientSocket.Client.RemoteEndPoint}");
AddClient(clientSocket); AddClient(clientSocket);
handleClient client = new handleClient(); handleClient client = new handleClient(new UsedRepository(),clientSocket);
client.startClient(clientSocket); client.startClient();
Console.WriteLine($"{GetClientCount()} clients connected"); //Console.WriteLine($"{GetClientCount()} clients connected");
} }
} }
} }
} }

View File

@@ -8,15 +8,16 @@ namespace CardMarketServer
TcpClient clientSocket; TcpClient clientSocket;
List<string> bereitsBearbeitet= new List<string>(); List<string> bereitsBearbeitet= new List<string>();
IUsedRepository repository; IUsedRepository repository;
public handleClient()
{
repository = new UsedRepository();
bereitsBearbeitet = repository.Query;
}
internal void startClient(TcpClient clientSocket) public handleClient(IUsedRepository repository, TcpClient clientSocket)
{
this.clientSocket = clientSocket;
this.repository = repository;
bereitsBearbeitet = repository.Query;
}
internal void startClient()
{ {
this.clientSocket = clientSocket;
Thread ctThread = new Thread(Chat); Thread ctThread = new Thread(Chat);
ctThread.Start(); ctThread.Start();
} }
@@ -41,8 +42,10 @@ namespace CardMarketServer
string[] parts = message.Split('#'); string[] parts = message.Split('#');
if(parts.Length < 3) if(parts.Length < 3)
{ {
Console.WriteLine("fehler"); Console.WriteLine($"Fehler {message}");
continue;
} }
if (parts[1].Equals("TEST")) action = EACTION.TEST; if (parts[1].Equals("TEST")) action = EACTION.TEST;
if (parts[1].Equals("WRITE")) action = EACTION.WRITE; if (parts[1].Equals("WRITE")) action = EACTION.WRITE;
@@ -66,14 +69,13 @@ namespace CardMarketServer
repository.Insert(parts[2]); repository.Insert(parts[2]);
writer.Write("OK"); writer.Write("OK");
} }
Console.WriteLine(message);
} }
} }
} }
catch(EndOfStreamException) catch(EndOfStreamException)
{ {
Console.WriteLine("Client diconnecting"); //Console.WriteLine("Client diconnecting");
clientSocket.Client.Shutdown(SocketShutdown.Both); clientSocket.Client.Shutdown(SocketShutdown.Both);
} }
catch(IOException e) catch(IOException e)
@@ -83,7 +85,7 @@ namespace CardMarketServer
clientSocket.Close(); clientSocket.Close();
Program.RemoveClient(clientSocket); Program.RemoveClient(clientSocket);
Console.WriteLine($"{Program.GetClientCount()} clients connected"); //Console.WriteLine($"{Program.GetClientCount()} clients connected");
} }
} }
} }