MiMicSDK Tcp client socket sample program.
Dependencies: NyFileSystems libMiMic mbed-rtos mbed
Fork of WebSocketSample by
Diff: main.cpp
- Revision:
- 5:6a2a1644ea2c
- Parent:
- 4:0a280ed0a848
- Child:
- 6:20dcb08e1b43
--- a/main.cpp Tue Apr 09 10:48:14 2013 +0000 +++ b/main.cpp Sun Apr 28 13:33:36 2013 +0000 @@ -8,6 +8,8 @@ * 3. You can see <filename> file on browser. * </pre> */ +#include "mbed.h" +#include "SDFileSystem.h" #include "mimic.h" @@ -15,34 +17,53 @@ * local filesystem support. */ LocalFileSystem lf("local"); +SDFileSystem sd(p5, p6, p7, p8,"sd"); /** * MiMic RemoteMCU httpd.<br/> + * Number of simultaneous connections:4 * <p>Service list</p> * <pre> * /local/ - mbed LocalFileSystem * </pre> */ -class LfsHttpd:public MiMic::Httpd +class FsHttpd:public MiMic::Httpd { private: - ModLocalFileSystem modurl; //basic URL parser + ModLocalFileSystem modlocal; + ModLocalFileSystem modsd; public: - LfsHttpd():Httpd(80) + FsHttpd():Httpd(80) { //bind local file system path to /local/* - modurl.setParam("local"); + modlocal.setParam("local"); + modsd.setParam("sd"); } virtual void onRequest(HttpdConnection& i_connection) { - //call ModUrl module. - if(!this->modurl.execute(i_connection)){ - //send 430 - i_connection.sendHeader(403,"text/html",NULL); - i_connection.sendBodyF("<html><body>403 Forbidden</body></html>"); + //try to ModLocalFileSystem + if(this->modlocal.execute(i_connection)){ + return; + } + //try to ModLocalFileSystem(SD) + if(this->modsd.execute(i_connection)){ return; } - return; + //Otherwise, Send simple top index page. + i_connection.sendHeader(200,"text/html",NULL); + if(i_connection.isMethodType(Http::MT_GET)){ + i_connection.sendBodyF( + "<!DOCTYPE html>" + "<html lang=\"ja\">" + "<head></head>" + "<body>" + "<h1>This is MiMic Server!</h1>" + "<hr/>" + "<ul>" + "<li><a href=\"/local/\">mbed Local Filesystem</a></li>" + "<li><a href=\"/sd/\">SDCard</a></li>" + "</ul></body>"); + } } }; @@ -50,7 +71,11 @@ { NetConfig cfg; //create network configulation Net net(cfg); //create a net instance. - LfsHttpd httpd; //create a httpd instance. + //try to override setting by local file. + if(!cfg.loadFromFile("/local/mimic.cfg")){ + cfg.loadFromFile("/sd/mimic.cfg"); + } + FsHttpd httpd; //create a httpd instance. httpd.loop(); //start httpd loop. return 0; }