Donatien Garnier
/
NetHttpServerExample
Networking stack: HTTP Server example
HttpServerExample.cpp@0:b0f550cf7618, 2010-05-24 (annotated)
- Committer:
- donatien
- Date:
- Mon May 24 11:48:26 2010 +0000
- Revision:
- 0:b0f550cf7618
- Child:
- 1:16ef7062abc9
Who changed what in which revision?
User | Revision | Line number | New 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 | Net::setDefaultIf(eth); |
donatien | 0:b0f550cf7618 | 19 | |
donatien | 0:b0f550cf7618 | 20 | printf("\r\nSetting up...\r\n"); |
donatien | 0:b0f550cf7618 | 21 | EthernetErr ethErr = eth.setup(); |
donatien | 0:b0f550cf7618 | 22 | if(ethErr) |
donatien | 0:b0f550cf7618 | 23 | { |
donatien | 0:b0f550cf7618 | 24 | printf("Error %d in setup.\n", ethErr); |
donatien | 0:b0f550cf7618 | 25 | return -1; |
donatien | 0:b0f550cf7618 | 26 | } |
donatien | 0:b0f550cf7618 | 27 | printf("\r\nSetup OK\r\n"); |
donatien | 0:b0f550cf7618 | 28 | |
donatien | 0:b0f550cf7618 | 29 | svr.addHandler<SimpleHandler>("/hello"); |
donatien | 0:b0f550cf7618 | 30 | svr.addHandler<RpcHandler>("/rpc"); |
donatien | 0:b0f550cf7618 | 31 | svr.addHandler<FSHandler>(""); //Default handler |
donatien | 0:b0f550cf7618 | 32 | //Example : Access to mbed.htm : http://a.b.c.d/webfs/mbed.htm |
donatien | 0:b0f550cf7618 | 33 | |
donatien | 0:b0f550cf7618 | 34 | svr.bind(80); |
donatien | 0:b0f550cf7618 | 35 | |
donatien | 0:b0f550cf7618 | 36 | printf("\r\nListening...\r\n"); |
donatien | 0:b0f550cf7618 | 37 | |
donatien | 0:b0f550cf7618 | 38 | Timer tm; |
donatien | 0:b0f550cf7618 | 39 | tm.start(); |
donatien | 0:b0f550cf7618 | 40 | //Listen indefinitely |
donatien | 0:b0f550cf7618 | 41 | while(true) |
donatien | 0:b0f550cf7618 | 42 | { |
donatien | 0:b0f550cf7618 | 43 | Net::poll(); |
donatien | 0:b0f550cf7618 | 44 | if(tm.read()>.5) |
donatien | 0:b0f550cf7618 | 45 | { |
donatien | 0:b0f550cf7618 | 46 | led1=!led1; //Show that we are alive |
donatien | 0:b0f550cf7618 | 47 | tm.start(); |
donatien | 0:b0f550cf7618 | 48 | } |
donatien | 0:b0f550cf7618 | 49 | } |
donatien | 0:b0f550cf7618 | 50 | |
donatien | 0:b0f550cf7618 | 51 | return 0; |
donatien | 0:b0f550cf7618 | 52 | |
donatien | 0:b0f550cf7618 | 53 | } |