Hiroshi Yamaguchi / Mbed 2 deprecated SimpleSocketExamples 1.0

Dependencies:   EthernetNetIf SimpleSocket 1.0 mbed

Committer:
yamaguch
Date:
Tue Jun 05 05:41:30 2012 +0000
Revision:
36:03c4e6a9a9e9
For 0x00 reception bug fix

Who changed what in which revision?

UserRevisionLine numberNew contents of line
yamaguch 36:03c4e6a9a9e9 1 #include "EthernetNetIf.h"
yamaguch 36:03c4e6a9a9e9 2 #include "SimpleSocket.h"
yamaguch 36:03c4e6a9a9e9 3
yamaguch 36:03c4e6a9a9e9 4 void webcontroller() {
yamaguch 36:03c4e6a9a9e9 5 const char *response0 =
yamaguch 36:03c4e6a9a9e9 6 "HTTP/1.1 200 OK\r\n"
yamaguch 36:03c4e6a9a9e9 7 "Content-Type: text/html\r\n"
yamaguch 36:03c4e6a9a9e9 8 "\r\n"
yamaguch 36:03c4e6a9a9e9 9 "<html>\n"
yamaguch 36:03c4e6a9a9e9 10 "<head><title>mbed LED1 Controller</title></head>\n"
yamaguch 36:03c4e6a9a9e9 11 "<body>\n"
yamaguch 36:03c4e6a9a9e9 12 "<h4>LED1 Status & Change</h4>\n";
yamaguch 36:03c4e6a9a9e9 13
yamaguch 36:03c4e6a9a9e9 14 const char *response1 =
yamaguch 36:03c4e6a9a9e9 15 "<form method=\"GET\" action=\"/\">\n"
yamaguch 36:03c4e6a9a9e9 16 "<input type=\"radio\" name=\"LED\" value=\"1\" %s onclick=\"submit();\"/>ON\n"
yamaguch 36:03c4e6a9a9e9 17 "<input type=\"radio\" name=\"LED\" value=\"0\" %s onclick=\"submit();\"/>OFF\n"
yamaguch 36:03c4e6a9a9e9 18 "</form>\n";
yamaguch 36:03c4e6a9a9e9 19 const char *response2 =
yamaguch 36:03c4e6a9a9e9 20 "</body>\n"
yamaguch 36:03c4e6a9a9e9 21 "</html>\n";
yamaguch 36:03c4e6a9a9e9 22
yamaguch 36:03c4e6a9a9e9 23 DigitalOut led1(LED1);
yamaguch 36:03c4e6a9a9e9 24 EthernetNetIf eth;
yamaguch 36:03c4e6a9a9e9 25 eth.setup();
yamaguch 36:03c4e6a9a9e9 26
yamaguch 36:03c4e6a9a9e9 27 ServerSocket server(80);
yamaguch 36:03c4e6a9a9e9 28
yamaguch 36:03c4e6a9a9e9 29 while (true) {
yamaguch 36:03c4e6a9a9e9 30 ClientSocket socket = server.accept();
yamaguch 36:03c4e6a9a9e9 31 while (socket) {
yamaguch 36:03c4e6a9a9e9 32 if (socket.available()) {
yamaguch 36:03c4e6a9a9e9 33 char buf[512] = {};
yamaguch 36:03c4e6a9a9e9 34 socket.read(buf, sizeof(buf) - 1);
yamaguch 36:03c4e6a9a9e9 35 printf("\n%s\n", buf);
yamaguch 36:03c4e6a9a9e9 36 led1 = strncmp("GET /?LED=1", buf, 11) == 0;
yamaguch 36:03c4e6a9a9e9 37
yamaguch 36:03c4e6a9a9e9 38 printf("LED1 = %d\n\n", led1.read());
yamaguch 36:03c4e6a9a9e9 39 printf(response0);
yamaguch 36:03c4e6a9a9e9 40 printf(response1, led1 ? "checked" : "", led1 ? "" : "checked");
yamaguch 36:03c4e6a9a9e9 41 printf(response2);
yamaguch 36:03c4e6a9a9e9 42
yamaguch 36:03c4e6a9a9e9 43 socket.printf(response0);
yamaguch 36:03c4e6a9a9e9 44 socket.printf(response1, led1 ? "checked" : "", led1 ? "" : "checked");
yamaguch 36:03c4e6a9a9e9 45 socket.printf(response2);
yamaguch 36:03c4e6a9a9e9 46 socket.close();
yamaguch 36:03c4e6a9a9e9 47 }
yamaguch 36:03c4e6a9a9e9 48 }
yamaguch 36:03c4e6a9a9e9 49 }
yamaguch 36:03c4e6a9a9e9 50 }