--- /dev/null
+\r
+import lejos.nxt.*;\r
+import lejos.nxt.comm.*;\r
+import java.io.*;\r
+\r
+/**\r
+* Simple test program. Echoes something similar back to\r
+* the socket server\r
+* @author Ranulf Green\r
+*\r
+*/\r
+public class SocketTest {\r
+\r
+ private DataInputStream ins;\r
+ private DataOutputStream outs;\r
+ private BTConnection btc = null;\r
+ private NXTSocket sock = null;\r
+ private String connected = "connected";\r
+ private String waiting = "waiting";\r
+ boolean con = false;\r
+\r
+ public SocketTest() throws Exception{\r
+ while(true){\r
+ connect();\r
+ ins = sock.getDataInputStream();\r
+ outs = sock.getDataOutputStream();\r
+ try{\r
+ String s = ins.readLine();\r
+ print(s);\r
+ s = "not " + s + '\n';\r
+ outs.writeChars(s);\r
+ outs.flush();\r
+ }catch(IOException e){\r
+ LCD.drawString("ERROR",0,1);\r
+ LCD.refresh();\r
+ }\r
+ closeStream();\r
+ }\r
+ }\r
+\r
+ public void connect()throws IOException{\r
+ if(!con){\r
+ LCD.clear();\r
+ LCD.drawString(waiting,0,0);\r
+ LCD.refresh();\r
+ btc = Bluetooth.waitForConnection();\r
+ LCD.clear();\r
+ sock = new NXTSocket("localhost",8081,btc);\r
+ con = true;\r
+ LCD.drawString(connected,0,0);\r
+ LCD.refresh();\r
+ }\r
+ }\r
+\r
+ public void print(String i){\r
+ LCD.clear();\r
+ LCD.drawString(connected,0,0);\r
+ LCD.drawString(i,0,1);\r
+ LCD.refresh();\r
+ }\r
+\r
+ public void closeStream() throws IOException{\r
+ ins.close();\r
+ outs.close();\r
+ try{\r
+ Thread.sleep(1000);\r
+ }catch(InterruptedException e){\r
+ }\r
+ }\r
+\r
+ public static void main(String [] args) throws Exception\r
+ {\r
+ new SocketTest();\r
+ }\r
+}\r
+\r
+\r
+\r