Hiroshi Yamaguchi / Mbed 2 deprecated SimpleSocketExamples 1.0

Dependencies:   EthernetNetIf SimpleSocket 1.0 mbed

Revision:
33:39d9cdf99de8
Parent:
25:b3ab82301345
diff -r 00114e36de90 -r 39d9cdf99de8 echoclient.cpp
--- a/echoclient.cpp	Wed Oct 26 12:47:31 2011 +0000
+++ b/echoclient.cpp	Wed Nov 02 12:16:51 2011 +0000
@@ -1,14 +1,28 @@
-#include "mbed.h"
+#include "EthernetNetIf.h"
 #include "SimpleSocket.h"
 
-void echoclient(char *server, int port, char *message) {
-    printf("** echoclient, server = %s, port = %d, message = %s\n", server, port, message);
+void echoclient() {
+    EthernetNetIf eth;
+    eth.setup();
+
+    printf("Echo server => ");
+    char server[32];
+    scanf("%s", server);
+
+    ClientSocket socket(server, 1234);
 
-    ClientSocket socket(server, port);
+    if (socket) {
+        char message[80] = {};
+        printf("Enter message => ");
+        int c = 0;
+        while (c < ' ' || 0x7E < c)
+            c = getc(stdin);
+        ungetc(c, stdin);
+        for (int i = 0; i < sizeof(message) - 1 && (c = getc(stdin)) >= ' '; i++)
+            message[i] = c;
 
-    if (socket.connected()) {
-        socket.printf(message);
-        
+        socket.printf("%s", message);
+
         // wait until data is received
         while (!socket.available())
             ;
@@ -18,9 +32,9 @@
             char buf[128];
             int len = socket.read(buf, sizeof(buf) - 1);
             buf[len] = '\0';
-            printf(buf);
+            printf("%s", buf);
         }
-        printf("Closing...\n");
+        printf("\nClosing...\n");
         socket.close();
     }
     printf("Done.\n");