diff --git a/ClientServerLib/ClientServerLib/CClient.cs b/ClientServerLib/ClientServerLib/CClient.cs
index 41347cf3..fe8b4a58 100644
--- a/ClientServerLib/ClientServerLib/CClient.cs
+++ b/ClientServerLib/ClientServerLib/CClient.cs
@@ -33,12 +33,6 @@ namespace ClientServerLib
get { return connected; }
}
- public bool LoggedIn
- {
- get { return connection.LoggedIn; }
- set { connection.LoggedIn = value; }
- }
-
public CClient()
{
doConnect = false;
diff --git a/ClientServerLib/ClientServerLib/CConnection.cs b/ClientServerLib/ClientServerLib/CConnection.cs
index 50aa3460..900a4366 100644
--- a/ClientServerLib/ClientServerLib/CConnection.cs
+++ b/ClientServerLib/ClientServerLib/CConnection.cs
@@ -18,7 +18,6 @@ namespace ClientServerLib
private int connectionID;
public TcpClient TcpClient;
- public bool LoggedIn;
public bool KeySet
{
@@ -34,7 +33,6 @@ namespace ClientServerLib
{
TcpClient = client;
keySet = false;
- LoggedIn = false;
connectionID = ConnectionID;
encoder = new UTF8Encoding();
}
diff --git a/ClientServerLib/ClientServerLib/CServer.cs b/ClientServerLib/ClientServerLib/CServer.cs
index 24e54557..37f44139 100644
--- a/ClientServerLib/ClientServerLib/CServer.cs
+++ b/ClientServerLib/ClientServerLib/CServer.cs
@@ -73,28 +73,39 @@ namespace ClientServerLib
private void ListenForClients()
{
tcpListener.Start();
+ TcpClient client;
while (running)
{
//wait for new client
- TcpClient client = tcpListener.AcceptTcpClient();
-
- int id = ids.Dequeue();
- CConnection connection = new CConnection(client, id);
-
- lock (clients)
+ try
{
- clients.Add(id, connection);
+ client = tcpListener.AcceptTcpClient();
+ }
+ catch
+ {
+ client = null;
}
- Thread clientThread = new Thread(new ParameterizedThreadStart(HandleClientCom));
+ if (client != null)
+ {
+ int id = ids.Dequeue();
+ CConnection connection = new CConnection(client, id);
- NetworkStream clientStream = client.GetStream();
- byte[] serverParams = connection.GetKeyParams();
- clientStream.Write(serverParams, 0, serverParams.Length);
- clientStream.Flush();
+ lock (clients)
+ {
+ clients.Add(id, connection);
+ }
- clientThread.Start(connection);
+ Thread clientThread = new Thread(new ParameterizedThreadStart(HandleClientCom));
+
+ NetworkStream clientStream = client.GetStream();
+ byte[] serverParams = connection.GetKeyParams();
+ clientStream.Write(serverParams, 0, serverParams.Length);
+ clientStream.Flush();
+
+ clientThread.Start(connection);
+ }
}
}
diff --git a/ClientServerLib/ClientServerLib/ClientServerLib.csproj b/ClientServerLib/ClientServerLib/ClientServerLib.csproj
index 90c0aa91..b9a347bb 100644
--- a/ClientServerLib/ClientServerLib/ClientServerLib.csproj
+++ b/ClientServerLib/ClientServerLib/ClientServerLib.csproj
@@ -48,6 +48,8 @@
+
+