From 3b13f5bac1e01863fc738594b325415813744117 Mon Sep 17 00:00:00 2001 From: hba56 Date: Fri, 28 Apr 2017 13:17:01 +1200 Subject: [PATCH] swapping sockets so mock is the server rather than visualiser #story[782] --- .../java/seng302/Networking/MockOutput.java | 73 +++++++++++-------- .../seng302/Networking/VisualiserInput.java | 4 +- 2 files changed, 46 insertions(+), 31 deletions(-) diff --git a/network/src/main/java/seng302/Networking/MockOutput.java b/network/src/main/java/seng302/Networking/MockOutput.java index 2f3d2440..3877ccdd 100644 --- a/network/src/main/java/seng302/Networking/MockOutput.java +++ b/network/src/main/java/seng302/Networking/MockOutput.java @@ -18,6 +18,7 @@ public class MockOutput private RaceVisionByteEncoder messageEncoder = new RaceVisionByteEncoder(); //socket port 4942 as 4940 is ac35 live port and 4941 is ac35 test port + private ServerSocket serverSocket; private Socket mockSocket; private DataOutputStream outToVisualiser; @@ -32,48 +33,60 @@ public class MockOutput MockOutput() throws IOException{ - /*******************************Test********************************/ - StringBuilder xmlString; + /**************sockets*******************/ + //start Time + lastHeartbeatTime = System.currentTimeMillis(); - BufferedReader br = new BufferedReader(new InputStreamReader( - this.getClass().getResourceAsStream(("/raceXML/Regatta.xml")))); - String line; - xmlString = new StringBuilder(); - while((line=br.readLine())!= null){ - xmlString.append(line.trim()); - } +// mockSocket = new Socket("localhost", 4942); + serverSocket = new ServerSocket(4942); +// mockSocket = serverSocket.accept(); - parseXMLString(xmlString.toString(), 5); - /*******************************Test********************************/ - /**************sockets*******************/ - //start Time - lastHeartbeatTime = System.currentTimeMillis(); + //loop that sends + while (true){ + mockSocket = serverSocket.accept(); + outToVisualiser = new DataOutputStream(mockSocket.getOutputStream()); - mockSocket = new Socket("localhost", 4942); - outToVisualiser = new DataOutputStream(mockSocket.getOutputStream()); + /*******************************Test********************************/ + StringBuilder xmlString; + BufferedReader br = new BufferedReader(new InputStreamReader( + this.getClass().getResourceAsStream(("/raceXML/Regatta.xml")))); - //loop that sends - while(true) - { - //sends a heartbeat every 5 seconds - if (timeSinceHeartbeat() >= 5.00){ - outToVisualiser.write(heartbeat()); - lastHeartbeatTime = System.currentTimeMillis(); + String line; + xmlString = new StringBuilder(); + while((line=br.readLine())!= null){ + xmlString.append(line.trim()); } - //checks the buffer to see if there is anything to send - if (messagesToSendBuffer.size() > 0) { - for (byte[] binaryMessage : messagesToSendBuffer) { - //sends the message to the visualiser - outToVisualiser.write(binaryMessage); + parseXMLString(xmlString.toString(), 5); + + /*******************************Test********************************/ + + while(true) { + try { + //sends a heartbeat every 5 seconds + if (timeSinceHeartbeat() >= 5.00) { + outToVisualiser.write(heartbeat()); + lastHeartbeatTime = System.currentTimeMillis(); + } + + //checks the buffer to see if there is anything to send + if (messagesToSendBuffer.size() > 0) { + for (byte[] binaryMessage : messagesToSendBuffer) { + //sends the message to the visualiser + outToVisualiser.write(binaryMessage); + } + //cleans out buffer + messagesToSendBuffer.clear(); + } + }catch(SocketException e){ + break; } - //cleans out buffer - messagesToSendBuffer.clear(); + } } /**************sockets*******************/ diff --git a/network/src/main/java/seng302/Networking/VisualiserInput.java b/network/src/main/java/seng302/Networking/VisualiserInput.java index bb317510..c507bb43 100644 --- a/network/src/main/java/seng302/Networking/VisualiserInput.java +++ b/network/src/main/java/seng302/Networking/VisualiserInput.java @@ -36,8 +36,10 @@ public class VisualiserInput // ServerSocket visualiserSocket = new ServerSocket(4942); // Socket connectionSocket = visualiserSocket.accept(); + Socket connectionSocket = new Socket(InetAddress.getLocalHost(), 4942); + //this is the test data that streams form the AC35 website - Socket connectionSocket = new Socket("livedata.americascup.com",4941); +// Socket connectionSocket = new Socket("livedata.americascup.com",4941); //start Time