Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: TextLCD WIZnetInterface mbed
Fork of TCP_LED_Control-WIZwiki-W7500 by
Diff: main.cpp
- Revision:
- 11:0da8667a9201
- Parent:
- 9:a63ff95c354b
- Child:
- 12:aee11a1d7f14
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, ð)) {
-
- 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();
}
}
