diff --git a/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java b/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java index c136d4f405e657a36eff45601502547ba02c87f6..12785933f3196d83ca00ddd878ff89f58f71fbe1 100644 --- a/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java +++ b/KvizClient/app/src/main/java/onlab/kvizclient/LobbyActivity.java @@ -87,7 +87,7 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection discovering = false; for (ServerModel server : servers) { - SendDisconnect(server); + SendConnectionLost(server); } for (Thread thread : threads) { @@ -318,7 +318,7 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection //nem sikerült } break; - case "Disconnect": + case "ConnectionLost": for (ServerModel server: servers) { if(server.getSocket() == serverModel.getSocket()) { @@ -332,18 +332,8 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection } break; - case "-1": - for (ServerModel server: servers) { - if(server.getSocket() == serverModel.getSocket()) - { - int position = servers.indexOf(serverModel); - updateConversationHandler.post(new updateUIThread(Operation.REMOVE_SERVER, serverModel)); - servers.remove(serverModel); - serverModel.getSocket().close(); - threads.remove(Thread.currentThread()); - Thread.currentThread().interrupt(); - } - } + case "Disconnect": + // break; default: break; @@ -405,13 +395,13 @@ public class LobbyActivity extends AppCompatActivity implements ServerConnection recyclerView.setAdapter(adapter); } - private void SendDisconnect(ServerModel server) + private void SendConnectionLost(ServerModel server) { try { PrintWriter out = new PrintWriter(new BufferedWriter( new OutputStreamWriter(server.getSocket().getOutputStream())), true); - out.println("Disconnect"); + out.println("ConnectionLost"); out.close(); } catch (IOException e) { diff --git a/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java b/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java index 26b667cf703126a26883ad9d2b669c04ed7a3c0c..ae0cc2922aa40c34bdf678de93f0763bd6efa244 100644 --- a/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java +++ b/KvizServer/app/src/main/java/onlab/kvizserver/LobbyActivity.java @@ -119,14 +119,14 @@ public class LobbyActivity extends AppCompatActivity { registred = false; for (ClientModel client : allclients) { - SendDisconnect(client); + SendConnectionLost(client); } - /* + for (Thread thread : threads) { thread.interrupt(); } - */ + } super.onPause(); @@ -266,7 +266,7 @@ public class LobbyActivity extends AppCompatActivity { } else { - params[0] = "Disconnect"; + params[0] = "ConnectionLost"; } switch (params[0]) { @@ -293,12 +293,13 @@ public class LobbyActivity extends AppCompatActivity { } out.println("Connect##Ok!"); break; - case "Disconnect": + case "ConnectionLost": for (ClientModel client : clients) { if (client.getClientsocket() == clientSocket) { int position = clients.indexOf(client); updateConversationHandler.post(new updateUIThread(Operation.REMOVE_CLIENT, Integer.toString(position))); clients.remove(client); + allclients.remove(client); clientSocket.close(); threads.remove(Thread.currentThread()); Thread.currentThread().interrupt(); @@ -307,6 +308,16 @@ public class LobbyActivity extends AppCompatActivity { } }; break; + case "Disconnect": + for (ClientModel client : clients) { + if (client.getClientsocket() == clientSocket) { + int position = clients.indexOf(client); + clients.remove(client); + updateConversationHandler.post(new updateUIThread(Operation.REMOVE_CLIENT, Integer.toString(position))); + break; + } + }; + break; default: out.println("Unknown Message!"); @@ -366,13 +377,13 @@ public class LobbyActivity extends AppCompatActivity { recyclerView.setAdapter(adapter); } - private void SendDisconnect(ClientModel client) + private void SendConnectionLost(ClientModel client) { try { PrintWriter out = new PrintWriter(new BufferedWriter( new OutputStreamWriter(client.getClientsocket().getOutputStream())), true); - out.println("Disconnect"); + out.println("ConnectionLost"); out.close(); } catch (IOException e) {