diff --git a/src/main/java/seng302/App.java b/src/main/java/seng302/App.java index fdfc3ad4..7b53c2cf 100644 --- a/src/main/java/seng302/App.java +++ b/src/main/java/seng302/App.java @@ -105,7 +105,6 @@ public class App extends Application { } }, 0, 1200); - try { parseArgs(args); } catch (ParseException e) { diff --git a/src/main/java/seng302/discoveryServer/DiscoveryServer.java b/src/main/java/seng302/discoveryServer/DiscoveryServer.java index 88c531e7..c5707b92 100644 --- a/src/main/java/seng302/discoveryServer/DiscoveryServer.java +++ b/src/main/java/seng302/discoveryServer/DiscoveryServer.java @@ -48,7 +48,7 @@ public class DiscoveryServer { " .:;...'cxxxxxxxxxxxxoc;,::,..cdl;;l' \n" + " .cl;':,'';oxxxxxxdxxxxxx:....,cooc,cO; \n" + " .,,,::;,lxoc:,,:lxxxxxxxxxxxo:,,;lxxl;'oNc \n" + - " .cdxo;':lxxxxxxc'';cccccoxxxxxxxxxxxxo,.;lc. " + ANSI_YELLOW + "Party-Parrots-At-Sea Discovery Server v0.1 " + selectedColor +"\n" + + " .cdxo;':lxxxxxxc'';cccccoxxxxxxxxxxxxo,.;lc. " + ANSI_YELLOW + "Party-Parrots-At-Sea Discovery Server v1.0.0 (Release) " + selectedColor +"\n" + " .loc'.'lxxxxxxxxocc;''''';ccoxxxxxxxxx:..oc \n" + "olc,..',:cccccccccccc:;;;;;;;;:ccccccccc,.'c, \n" + "Ol;......................................;l' "); diff --git a/src/main/java/seng302/discoveryServer/DiscoveryServerClient.java b/src/main/java/seng302/discoveryServer/DiscoveryServerClient.java index 79df1c2f..80521951 100644 --- a/src/main/java/seng302/discoveryServer/DiscoveryServerClient.java +++ b/src/main/java/seng302/discoveryServer/DiscoveryServerClient.java @@ -19,7 +19,7 @@ import java.util.Timer; import java.util.TimerTask; public class DiscoveryServerClient { - private final Integer UPDATE_INTERVAL_MS = 5000; + private final Integer UPDATE_INTERVAL_MS = 1000; private static String roomCode = null; private Timer serverListingUpdateTimer; diff --git a/src/main/java/seng302/discoveryServer/util/ServerListing.java b/src/main/java/seng302/discoveryServer/util/ServerListing.java index 4c5bdaad..d477b717 100644 --- a/src/main/java/seng302/discoveryServer/util/ServerListing.java +++ b/src/main/java/seng302/discoveryServer/util/ServerListing.java @@ -1,7 +1,7 @@ package seng302.discoveryServer.util; public class ServerListing { - public final static int SERVER_TTL_DEFAULT = 10; + public final static int SERVER_TTL_DEFAULT = 3; private String serverName = ""; private String mapName = ""; diff --git a/src/main/java/seng302/visualiser/ClientToServerThread.java b/src/main/java/seng302/visualiser/ClientToServerThread.java index d8d52fff..b4840004 100644 --- a/src/main/java/seng302/visualiser/ClientToServerThread.java +++ b/src/main/java/seng302/visualiser/ClientToServerThread.java @@ -180,10 +180,12 @@ public class ClientToServerThread implements Runnable { notifyDisconnectListeners("Connection to server was terminated"); closeSocket(); - Platform.runLater(() -> { - ViewManager.getInstance().showErrorSnackBar("Server rejected connection."); - ViewManager.getInstance().goToStartView(); - }); + //thread.interrupt(); + +// Platform.runLater(() -> { +// ViewManager.getInstance().showErrorSnackBar("Server rejected connection."); +// ViewManager.getInstance().goToStartView(); +// }); } public void sendCustomizationRequest(CustomizeRequestType reqType, byte[] payload) { diff --git a/src/main/java/seng302/visualiser/GameClient.java b/src/main/java/seng302/visualiser/GameClient.java index 4d09e60f..63df3d27 100644 --- a/src/main/java/seng302/visualiser/GameClient.java +++ b/src/main/java/seng302/visualiser/GameClient.java @@ -95,7 +95,7 @@ public class GameClient { * @param ipAddress IP to connect to. * @param portNumber Port to connect to. */ - public void runAsClient(String ipAddress, Integer portNumber) { + public boolean runAsClient(String ipAddress, Integer portNumber) { try { startClientToServerThread(ipAddress, portNumber); socketThread.addDisconnectionListener((cause) -> { @@ -106,12 +106,19 @@ public class GameClient { ViewManager.getInstance().setPlayerList(clientLobbyList); - while (regattaData == null){ + int triesLeft = 10; + + while (regattaData == null && triesLeft >= 0){ try { Thread.sleep(100); - } catch (InterruptedException e) { - e.printStackTrace(); + } catch (InterruptedException ignored) { + ; } + triesLeft--; + } + + if (triesLeft < 1){ + return false; } ViewManager.getInstance().setProperty("serverName", regattaData.getRegattaName()); @@ -127,6 +134,8 @@ public class GameClient { } catch (IOException ioe) { ViewManager.getInstance().showErrorSnackBar("There are no servers currently available."); } + + return true; } private void destroyClientToServerThread() { diff --git a/src/main/java/seng302/visualiser/controllers/ServerListController.java b/src/main/java/seng302/visualiser/controllers/ServerListController.java index 2e133ceb..77e8bf4d 100644 --- a/src/main/java/seng302/visualiser/controllers/ServerListController.java +++ b/src/main/java/seng302/visualiser/controllers/ServerListController.java @@ -140,7 +140,9 @@ public class ServerListController implements Initializable, ServerListenerDelega return; } - ViewManager.getInstance().getGameClient().runAsClient(listing.getAddress(), listing.getPortNumber()); + if (!ViewManager.getInstance().getGameClient().runAsClient(listing.getAddress(), listing.getPortNumber())){ + ViewManager.getInstance().showErrorSnackBar("Could not connect to server"); + } }); /*