|
|
|
|
@ -26,18 +26,18 @@ public class VisualiserInput
|
|
|
|
|
private ServerSocket visualiserSocket;
|
|
|
|
|
private Socket connectionSocket;
|
|
|
|
|
|
|
|
|
|
int heartbeatSeqNum;
|
|
|
|
|
long heartbeatSeqNum;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
VisualiserInput() throws IOException{
|
|
|
|
|
|
|
|
|
|
//sockets to connect to
|
|
|
|
|
ServerSocket visualiserSocket = new ServerSocket(4942);
|
|
|
|
|
Socket connectionSocket = visualiserSocket.accept();
|
|
|
|
|
// ServerSocket visualiserSocket = new ServerSocket(4942);
|
|
|
|
|
// Socket connectionSocket = visualiserSocket.accept();
|
|
|
|
|
|
|
|
|
|
//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
|
|
|
|
|
@ -63,51 +63,51 @@ public class VisualiserInput
|
|
|
|
|
case HEARTBEAT:
|
|
|
|
|
lastHeartbeatTime = System.currentTimeMillis();
|
|
|
|
|
//note: if the program runs for over 340 years, this will crash.
|
|
|
|
|
heartbeatSeqNum = ByteConverter.bytesToInt(testDecoder.getMessage(), ByteOrder.BIG_ENDIAN);
|
|
|
|
|
heartbeatSeqNum = ByteConverter.bytesToLong(testDecoder.getMessage());
|
|
|
|
|
System.out.println("HeartBeat Message! " + heartbeatSeqNum);
|
|
|
|
|
break;
|
|
|
|
|
case RACESTATUS:
|
|
|
|
|
System.out.println("Race Status Message");
|
|
|
|
|
// System.out.println("Race Status Message");
|
|
|
|
|
break;
|
|
|
|
|
case DISPLAYTEXTMESSAGE:
|
|
|
|
|
System.out.println("Display Text Message");
|
|
|
|
|
// System.out.println("Display Text Message");
|
|
|
|
|
//no decoder for this.
|
|
|
|
|
break;
|
|
|
|
|
case XMLMESSAGE:
|
|
|
|
|
System.out.println("XML Message!");
|
|
|
|
|
// System.out.println("XML Message!");
|
|
|
|
|
XMLMessageDecoder xmlMessageDecoder = new XMLMessageDecoder(testDecoder.getMessage());
|
|
|
|
|
xmlMessageDecoder.decode();
|
|
|
|
|
System.out.println(xmlMessageDecoder.getXmlMessageInputSource());
|
|
|
|
|
break;
|
|
|
|
|
case RACESTARTSTATUS:
|
|
|
|
|
System.out.println("Race Start Status Message");
|
|
|
|
|
// System.out.println("Race Start Status Message");
|
|
|
|
|
break;
|
|
|
|
|
case YACHTEVENTCODE:
|
|
|
|
|
System.out.println("Yacht Action Code!");
|
|
|
|
|
// System.out.println("Yacht Action Code!");
|
|
|
|
|
//no decoder
|
|
|
|
|
break;
|
|
|
|
|
case YACHTACTIONCODE:
|
|
|
|
|
System.out.println("Yacht Action Code!");
|
|
|
|
|
// System.out.println("Yacht Action Code!");
|
|
|
|
|
//no decoder
|
|
|
|
|
break;
|
|
|
|
|
case CHATTERTEXT:
|
|
|
|
|
System.out.println("Chatter Text Message!");
|
|
|
|
|
// System.out.println("Chatter Text Message!");
|
|
|
|
|
//no decoder
|
|
|
|
|
break;
|
|
|
|
|
case BOATLOCATION:
|
|
|
|
|
System.out.println("Boat Location Message!");
|
|
|
|
|
// System.out.println("Boat Location Message!");
|
|
|
|
|
break;
|
|
|
|
|
case MARKROUNDING:
|
|
|
|
|
System.out.println("Mark Rounding Message!");
|
|
|
|
|
// System.out.println("Mark Rounding Message!");
|
|
|
|
|
break;
|
|
|
|
|
case COURSEWIND:
|
|
|
|
|
System.out.println("Course Wind Message!");
|
|
|
|
|
// System.out.println("Course Wind Message!");
|
|
|
|
|
break;
|
|
|
|
|
case AVGWIND:
|
|
|
|
|
System.out.println("Average Wind Message!");
|
|
|
|
|
// System.out.println("Average Wind Message!");
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
System.out.println("Broken Message!");
|
|
|
|
|
// System.out.println("Broken Message!");
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|