Fixed: Standing to Login
This commit is contained in:
@@ -103,16 +103,18 @@ public class RMIClient implements IClient {
|
||||
stub.ping(username);
|
||||
} catch (RemoteException e) {
|
||||
disconnect();
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
}
|
||||
});
|
||||
try {
|
||||
future.get(PING_TIMEOUT_MS, TimeUnit.MILLISECONDS); // mirrors setSoTimeout(5000)
|
||||
} catch (TimeoutException e) {
|
||||
future.cancel(true);
|
||||
//error sending
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
disconnect();
|
||||
} catch (Exception e) {
|
||||
disconnect();
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
}
|
||||
}, 0, PING_INTERVAL_S, TimeUnit.SECONDS);
|
||||
}
|
||||
@@ -128,7 +130,6 @@ public class RMIClient implements IClient {
|
||||
if (pingSender != null) pingSender.shutdownNow();
|
||||
controller.miniModel=null;
|
||||
controller.setClient(null);
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -121,7 +121,12 @@ public class TCPClient implements IClient {
|
||||
|
||||
} catch (IOException e) {
|
||||
sender.shutdownNow();
|
||||
disconnect();
|
||||
if(running)
|
||||
{
|
||||
disconnect();
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
}
|
||||
|
||||
}
|
||||
}, 0, 3, TimeUnit.SECONDS);
|
||||
|
||||
@@ -131,6 +136,7 @@ public class TCPClient implements IClient {
|
||||
int b = heartbeatIn.read();
|
||||
if (b == -1 || b != PONG) {
|
||||
disconnect();
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
break;
|
||||
}
|
||||
// pong ricevuto → server vivo
|
||||
@@ -138,8 +144,15 @@ public class TCPClient implements IClient {
|
||||
} catch (SocketTimeoutException e) {
|
||||
System.out.println("Server heartbeat timeout");
|
||||
disconnect();
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
|
||||
} catch (IOException e) {
|
||||
disconnect();
|
||||
if(running)
|
||||
{
|
||||
disconnect();
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
}
|
||||
|
||||
} finally {
|
||||
sender.shutdownNow();
|
||||
}
|
||||
@@ -151,7 +164,6 @@ public class TCPClient implements IClient {
|
||||
try { heartbeatSocket.close(); } catch (IOException ignored) {}
|
||||
controller.setClient(null);
|
||||
controller.setModel(null);
|
||||
controller.view.showError(ErrorType.SERVER_CRASHED,ErrorType.SERVER_CRASHED.toString());
|
||||
}
|
||||
|
||||
|
||||
@@ -168,7 +180,6 @@ public class TCPClient implements IClient {
|
||||
try {
|
||||
read = socketReceive.readObject();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user