package labcommTCPtest.client; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; import se.lth.control.labcomm2014.DecoderChannel; import se.lth.control.labcomm2014.EncoderChannel; import labcommTCPtest.gen.FooSample; import labcommTCPtest.gen.FooSample.Handler; public class TestClient implements Handler { private OutputStream out; private InputStream in; public TestClient(Socket server) throws IOException { out = server.getOutputStream(); in = server.getInputStream(); } public void test() { try { EncoderChannel e = new EncoderChannel(out ); FooSample.register(e); FooSample sample = new FooSample(); int a[] = new int[3]; a[0] = 1; a[1] = 2; a[2] = 3; sample.s = "Some random values"; sample.x = 17; sample.y = 42; sample.a = a; sample.t = 1717; sample.d = 0.42; printSample("Client sending", sample); FooSample.encode(e, sample); DecoderChannel c = new DecoderChannel(in); FooSample.register(c,this); c.runOne(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String... args) { String server = "localhost"; int port = 9999; try { Socket s = new Socket(server, port); TestClient c = new TestClient(s); c.test(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } private String formatArray(int a[]) { StringBuilder sb = new StringBuilder(); sb.append("["); for(int i=0; i < a.length; i++) { sb.append(a[i]); if(i < a.length-1) { sb.append(", "); } } sb.append("]"); return sb.toString(); } private void printSample(String header, FooSample sample2) throws Exception { System.out.format("[TestClient] %s: (%s, %d, %d, %s, %d, %f )\n", header, sample2.s, sample2.x, sample2.y, formatArray(sample2.a), sample2.t, sample2.d); } public void handle_FooSample(FooSample sample2) throws Exception { printSample("TestClient.handle_FooSample", sample2); } }