OSDN Git Service

lejos_NXJ_win32_0_4_0beta.zip
[nxt-jsp/lejos_nxj.git] / nxtOSEK / lejos_nxj / samples / SocketTest / SocketTest.java
diff --git a/nxtOSEK/lejos_nxj/samples/SocketTest/SocketTest.java b/nxtOSEK/lejos_nxj/samples/SocketTest/SocketTest.java
new file mode 100644 (file)
index 0000000..7af12a6
--- /dev/null
@@ -0,0 +1,78 @@
+\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