TCPEchoServer example for WIZwiki-W7500

Dependencies:   WIZnetInterface mbed

Fork of TCPEchoServer by Mbed

Files at this revision

API Documentation at this revision

Comitter:
hjjeon
Date:
Mon Jun 29 09:46:12 2015 +0000
Parent:
10:da17417937d9
Commit message:
Revert

Changed in this revision

SDFileSystem.lib Show diff for this revision Revisions of this file
WIZnetInterface.lib Show annotated file Show diff for this revision Revisions of this file
httpServer.lib Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-src.lib Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r da17417937d9 -r 0da8667a9201 SDFileSystem.lib
--- a/SDFileSystem.lib	Mon Jun 29 09:19:24 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://mbed.org/users/azsymaivan/code/SDFileSystem/#f242d7bdef28
diff -r da17417937d9 -r 0da8667a9201 WIZnetInterface.lib
--- a/WIZnetInterface.lib	Mon Jun 29 09:19:24 2015 +0000
+++ b/WIZnetInterface.lib	Mon Jun 29 09:46:12 2015 +0000
@@ -1,1 +1,1 @@
-http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#27b3e3a39df4
+http://developer.mbed.org/teams/WIZnet/code/WIZnetInterface/#24a9f2df2145
diff -r da17417937d9 -r 0da8667a9201 httpServer.lib
--- a/httpServer.lib	Mon Jun 29 09:19:24 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://developer.mbed.org/teams/WIZnet/code/httpServer/#e59cc54df17c
diff -r da17417937d9 -r 0da8667a9201 main.cpp
--- a/main.cpp	Mon Jun 29 09:19:24 2015 +0000
+++ b/main.cpp	Mon Jun 29 09:46:12 2015 +0000
@@ -1,67 +1,55 @@
 #include "mbed.h"
 #include "EthernetInterface.h"
-#include "FsHandler.h"
-#include "HTTPServer.h"
-#include "SDFileSystem.h"
-
-#ifdef TARGET_WIZWIKI_W7500
-    SDFileSystem local(SD_MOSI, SD_MISO, SD_CLK, SD_SEL, "local");//PB_3, PB_2, PB_1, PB_0
-#else
-    LocalFileSystem local("local");
-    //or TODO:
-#endif
 
-#ifdef TARGET_WIZWIKI_W7500
-    uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02};
-#endif
-
+#define ECHO_SERVER_PORT   7
 
-EthernetInterface eth;
-HTTPServer  svr;
-char ip_addr[] = "192.168.1.111";
-char subnet_mask[] = "255.255.255.0";
-char gateway_addr[] = "192.168.1.1";
-
-//#define DHCP
-
-int main()
+int main (void) 
 {
     printf("Wait a second...\r\n");
-    HTTPFsRequestHandler::mount("/local/", "/");
-    svr.addHandler<HTTPFsRequestHandler>("/");
-
-#ifdef TARGET_WIZWIKI_W7500
-    
-    #ifdef DHCP
-        eth.init(mac_addr); //Use DHCP
-    #else
-        eth.init(mac_addr, ip_addr, subnet_mask, gateway_addr); //Not Use DHCP
-    #endif
-
-#else
-
-    #ifdef DHCP
-        eth.init(); //Use DHCP
-    #else
-        eth.init(ip_addr, subnet_mask, gateway_addr); //Not Use DHCP
-    #endif
-
-#endif
-
-
-
+    uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; 
+    EthernetInterface eth;
+    eth.init(mac_addr); //Use DHCP
     eth.connect();
     printf("Server IP Address is %s\r\n", eth.getIPAddress());
-
-    if (!svr.start(80, &eth)) {
-
-        error("Server not starting !");
-        exit(0);
-    }
-
-    while(1) {
-        svr.poll();
-        wait(0.2);
+    
+    TCPSocketServer server;
+    server.bind(ECHO_SERVER_PORT);
+    server.listen();
+    
+    while (true) 
+    {
+        printf("Wait for new connection...\r\n");
+        TCPSocketConnection client;
+        server.accept(client);
+        client.set_blocking(false, 15000); // Timeout after (1.5)s
+        
+        printf("Connection from: %s\r\n", client.get_address());
+        char buffer[256];
+        while (true) {
+            int n = client.receive(buffer, sizeof(buffer));
+            if (n <= 0) break;
+            
+            // print received message to terminal
+            buffer[n] = '\0';
+            printf("Received message from Client :'%s'\r\n",buffer);
+            
+            // reverse the message
+            char temp;
+            for(int f = 0, l = n-1; f<l; f++,l--){
+                temp = buffer[f];
+                buffer[f] = buffer[l];
+                buffer[l] = temp;
+                }
+            
+            // print reversed message to terminal
+            printf("Sending message to Client: '%s'\r\n",buffer);
+            
+            // Echo received message back to client
+            client.send_all(buffer, n);
+            if (n <= 0) break;
+        }
+        
+        client.close();
     }
     
 }
diff -r da17417937d9 -r 0da8667a9201 mbed-src.lib
--- a/mbed-src.lib	Mon Jun 29 09:19:24 2015 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-http://mbed.org/users/mbed_official/code/mbed-src/#30f9462b5296
diff -r da17417937d9 -r 0da8667a9201 mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Jun 29 09:46:12 2015 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/7cff1c4259d7
\ No newline at end of file