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)
{
TcpClient clientSocket = ServerSocket.AcceptTcpClient();
Console.WriteLine($"Client connected: {clientSocket.Client.RemoteEndPoint}");
//Console.WriteLine($"Client connected: {clientSocket.Client.RemoteEndPoint}");
AddClient(clientSocket);
handleClient client = new handleClient();
client.startClient(clientSocket);
handleClient client = new handleClient(new UsedRepository(),clientSocket);
client.startClient();
Console.WriteLine($"{GetClientCount()} clients connected");
//Console.WriteLine($"{GetClientCount()} clients connected");
}
}
}
}
}

View File

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