Networking stack: HTTP Server example

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers HttpServerExample.cpp Source File

HttpServerExample.cpp

00001 #include "mbed.h"
00002 #include "EthernetNetIf.h"
00003 #include "HttpServer.h"
00004 
00005 DigitalOut led1(LED1, "led1");
00006 DigitalOut led2(LED2, "led2");
00007 DigitalOut led3(LED3, "led3");
00008 DigitalOut led4(LED4, "led4");
00009 
00010 LocalFileSystem fs("webfs");
00011 
00012 EthernetNetIf eth;  
00013 HttpServer svr;
00014 
00015 int main() {
00016   Base::add_rpc_class<DigitalOut>();
00017 
00018   printf("\r\nSetting up...\r\n");
00019   EthernetErr ethErr = eth.setup();
00020   if(ethErr)
00021   {
00022     printf("Error %d in setup.\n", ethErr);
00023     return -1;
00024   }
00025   printf("\r\nSetup OK\r\n");
00026   
00027   svr.addHandler<SimpleHandler>("/hello");
00028   svr.addHandler<RpcHandler>("/rpc");
00029   svr.addHandler<FSHandler>(""); //Default handler
00030   //Example : Access to mbed.htm : http://a.b.c.d/webfs/mbed.htm
00031   
00032   svr.bind(80);
00033   
00034   printf("\r\nListening...\r\n");
00035     
00036   Timer tm;
00037   tm.start();
00038   //Listen indefinitely
00039   while(true)
00040   {
00041     Net::poll();
00042     if(tm.read()>.5)
00043     {
00044       led1=!led1; //Show that we are alive
00045       tm.start();
00046     }
00047   }
00048   
00049   return 0;
00050 
00051 }