You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
2.3 KiB
61 lines
2.3 KiB
package seng302;
|
|
import seng302.Networking.BinaryMesageEncoder;
|
|
import seng302.Networking.BinaryMessageDecoder;
|
|
import seng302.Networking.MessageEncoders.XMLMessageEncoder;
|
|
import seng302.Networking.Utils.MessageType;
|
|
|
|
import java.io.*;
|
|
import java.net.*;
|
|
|
|
/**
|
|
* TCP client to recive information from AC35 data source
|
|
*/
|
|
public class TCPClient
|
|
{
|
|
public static void main(String argv[]) throws Exception
|
|
{
|
|
|
|
// String sentence;
|
|
// String modifiedSentence;
|
|
// BufferedReader inFromUser = new BufferedReader( new InputStreamReader(System.in));
|
|
// Socket clientSocket = new Socket("localhost", 6789);
|
|
// DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
|
|
// BufferedReader inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
|
|
// sentence = inFromUser.readLine();
|
|
// outToServer.writeBytes(sentence + '\n');
|
|
// modifiedSentence = inFromServer.readLine();
|
|
// System.out.println("FROM SERVER: " + modifiedSentence);
|
|
// clientSocket.close();
|
|
TCPClient client = new TCPClient();
|
|
}
|
|
|
|
TCPClient() throws IOException{
|
|
StringBuilder xmlString;
|
|
|
|
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());
|
|
}
|
|
XMLMessageEncoder encodedMessage = new XMLMessageEncoder((byte)1, (short)1, System.currentTimeMillis(), (byte)7, (short)1, (short)xmlString.length(), xmlString.toString());
|
|
byte[] encodedXML = encodedMessage.encode();
|
|
|
|
BinaryMesageEncoder binaryMesageEncoder = new BinaryMesageEncoder(MessageType.XMLMESSAGE, System.currentTimeMillis(), 1, (short)encodedXML.length, encodedXML);
|
|
|
|
/**************sockets*******************/
|
|
|
|
//socket port 4942 as 4940 is ac35 live port and 4941 is ac35 test port
|
|
Socket mockSocket = new Socket("localhost", 4942);
|
|
|
|
while(true)
|
|
{
|
|
DataOutputStream outToVisualiser = new DataOutputStream(mockSocket.getOutputStream());
|
|
outToVisualiser.write(binaryMesageEncoder.getFullMessage());
|
|
}
|
|
/**************sockets*******************/
|
|
}
|
|
|
|
} |