Simple TCP Echo Server

Dependencies:   EthernetInterface mbed-rtos mbed

Dependents:   HTTPDcgi

Legacy Warning

This is an mbed 2 example. To learn more about mbed OS 5, visit the docs.

Files at this revision

API Documentation at this revision

Comitter:
emilmont
Date:
Wed Jul 25 15:43:24 2012 +0000
Parent:
0:38cbb854d85f
Child:
2:ec5ae99791da
Commit message:
First implementation

Changed in this revision

EthernetInterface.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/EthernetInterface.lib	Wed Jul 25 15:43:24 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/EthernetInterface/#fd9597f1b81b
--- a/main.cpp	Wed Jul 25 15:38:39 2012 +0000
+++ b/main.cpp	Wed Jul 25 15:43:24 2012 +0000
@@ -1,1 +1,30 @@
 #include "mbed.h"
+#include "EthernetInterface.h"
+
+int main (void) {
+    EthernetInterface eth;
+    eth.init(); //Use DHCP
+    eth.connect();
+    printf("IP Address is %s\n", eth.getIPAddress());
+    
+    TCPSocketServer server;
+    server.bind(7);
+    server.listen(1);
+    
+    while (true) {
+        printf("\nWait for new connection...\n");
+        TCPSocketConnection client;
+        server.accept(client);
+        
+        printf("Connection from: %s\n", client.get_address());
+        char buffer[256];
+        while (true) {
+            int n = client.receive(buffer, 256, 3000);
+            if (n <= 0) break;
+            
+            client.send_all(buffer, n, 3000);
+            if (n <= 0) break;
+        }
+        client.close();
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Wed Jul 25 15:43:24 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#4238c328365e