Networking stack: HTTP Server example

Dependencies:   mbed

Committer:
donatien
Date:
Tue May 25 09:19:59 2010 +0000
Revision:
1:16ef7062abc9
Parent:
0:b0f550cf7618

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:b0f550cf7618 1 #include "mbed.h"
donatien 0:b0f550cf7618 2 #include "EthernetNetIf.h"
donatien 0:b0f550cf7618 3 #include "HttpServer.h"
donatien 0:b0f550cf7618 4
donatien 0:b0f550cf7618 5 DigitalOut led1(LED1, "led1");
donatien 0:b0f550cf7618 6 DigitalOut led2(LED2, "led2");
donatien 0:b0f550cf7618 7 DigitalOut led3(LED3, "led3");
donatien 0:b0f550cf7618 8 DigitalOut led4(LED4, "led4");
donatien 0:b0f550cf7618 9
donatien 0:b0f550cf7618 10 LocalFileSystem fs("webfs");
donatien 0:b0f550cf7618 11
donatien 0:b0f550cf7618 12 EthernetNetIf eth;
donatien 0:b0f550cf7618 13 HttpServer svr;
donatien 0:b0f550cf7618 14
donatien 0:b0f550cf7618 15 int main() {
donatien 0:b0f550cf7618 16 Base::add_rpc_class<DigitalOut>();
donatien 0:b0f550cf7618 17
donatien 0:b0f550cf7618 18 printf("\r\nSetting up...\r\n");
donatien 0:b0f550cf7618 19 EthernetErr ethErr = eth.setup();
donatien 0:b0f550cf7618 20 if(ethErr)
donatien 0:b0f550cf7618 21 {
donatien 0:b0f550cf7618 22 printf("Error %d in setup.\n", ethErr);
donatien 0:b0f550cf7618 23 return -1;
donatien 0:b0f550cf7618 24 }
donatien 0:b0f550cf7618 25 printf("\r\nSetup OK\r\n");
donatien 0:b0f550cf7618 26
donatien 0:b0f550cf7618 27 svr.addHandler<SimpleHandler>("/hello");
donatien 0:b0f550cf7618 28 svr.addHandler<RpcHandler>("/rpc");
donatien 0:b0f550cf7618 29 svr.addHandler<FSHandler>(""); //Default handler
donatien 0:b0f550cf7618 30 //Example : Access to mbed.htm : http://a.b.c.d/webfs/mbed.htm
donatien 0:b0f550cf7618 31
donatien 0:b0f550cf7618 32 svr.bind(80);
donatien 0:b0f550cf7618 33
donatien 0:b0f550cf7618 34 printf("\r\nListening...\r\n");
donatien 0:b0f550cf7618 35
donatien 0:b0f550cf7618 36 Timer tm;
donatien 0:b0f550cf7618 37 tm.start();
donatien 0:b0f550cf7618 38 //Listen indefinitely
donatien 0:b0f550cf7618 39 while(true)
donatien 0:b0f550cf7618 40 {
donatien 0:b0f550cf7618 41 Net::poll();
donatien 0:b0f550cf7618 42 if(tm.read()>.5)
donatien 0:b0f550cf7618 43 {
donatien 0:b0f550cf7618 44 led1=!led1; //Show that we are alive
donatien 0:b0f550cf7618 45 tm.start();
donatien 0:b0f550cf7618 46 }
donatien 0:b0f550cf7618 47 }
donatien 0:b0f550cf7618 48
donatien 0:b0f550cf7618 49 return 0;
donatien 0:b0f550cf7618 50
donatien 0:b0f550cf7618 51 }