SimpleSocket 1.0 examples

Dependencies:   EthernetNetIf SimpleSocket 1.0 mbed

Committer:
yamaguch
Date:
Mon Feb 04 09:04:25 2013 +0000
Revision:
40:84182fc63956
Parent:
webcontroller.cpp@39:108499af2b53
changed SimpleSocket libary name to SimpleSocketV1

Who changed what in which revision?

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