Mongoose是一个web服务器,
通过提供一个web接口给它,
它可以嵌入到现有的应用程序中去。
Mongooseweb服务器的执行是自满足的,它不依赖于任何其他服务。
如果你将它复制到任何目录并执行,
它将将启动web服务并将当前目录作为主目录、端口号是8080。
mongoose的源码地址:https://github.com/cesanta/mongoose
mongoose的用户手册:https://www.cesanta.com/developer/mongoose
mongoose 与 websocket
mongoose 与 ajax
mongoose 与 rest
mongoose 与 django
mongoose 与 mqtt
别人的应用
Civetweb是一款小型HTTP服务器,具有用C编写的可选Lua和SQLite支持。它可以嵌入到C / C ++应用程序中,或用作Windows,Linux,BSD或Mac-OS的独立Web服务器。 该项目基于Mongoose Web服务器,但是维护MIT许可证,并且没有GPL许可证。 安装指南https://github.com/civetweb/civetweb/blob/master/docs/Installing.md我们欢迎并鼓励您贡献自己的力量。 官方源代码位于https://github.com/civetweb/civetweb。可能在https://github.com/civetweb/civetweb/issues报告问题。使用“ Civetweb” Google小组进行问题和讨论https:// groups.google.com/d/forum/civetweb
acu项目 使用的它
jquery.js
网页定时 执行的语法
jquery 定时执行
setInterval(func,2700)
jquery
多国语言设置
动态数据更新
11
跨平台:Linux / Unix,QNX,eCos,Windows,Android,iPhone支持
单线程,异步,基于事件的非阻塞API
内置的协议:
普通TCP,UDP的平原,SSL / TLS(传输,单向或双向)
HTTP客户端,服务器
WebSocket客户端,服务器
JSON-RPC客户端,服务器
MQTT客户端,服务器
CoAP客户端,服务器
DNS客户端、DNS服务器、异步DNS解析器
目录
/home/sama5d2/buildroot/buildroot-2017.02.2/output/build/mongoose-6.2
.
├── examples
│ ├── api_server
│ │ ├── api_server.c
│ │ ├── db_plugin.h
│ │ ├── db_plugin_sqlite.c
│ │ ├── Makefile
│ │ ├── sqlite3.c
│ │ ├── sqlite3.h
│ │ ├── unit_test.sh
│ │ └── web_root
│ │ └── index.html
│ ├── arduino_restful_client
│ │ ├── arduino_restful_client.ino
│ │ ├── Makefile
│ │ └── README.md
│ ├── arduino_restful_server
│ │ ├── arduino_restful_server.ino
│ │ ├── Makefile
│ │ └── README.md
│ ├── big_upload
│ │ ├── big_upload.c
│ │ └── Makefile
│ ├── captive_dns_server
│ │ ├── captive_dns_server.c
│ │ └── Makefile
│ ├── coap_client
│ │ ├── coap_client.c
│ │ └── Makefile
│ ├── coap_server
│ │ ├── coap_server.c
│ │ └── Makefile
│ ├── connected_device_1
│ │ ├── Makefile
│ │ ├── server.c
│ │ └── web_root
│ │ ├── index.shtml
│ │ ├── logo.png
│ │ └── style.css
│ ├── connected_device_2
│ │ ├── Makefile
│ │ ├── server.c
│ │ └── web_root
│ │ ├── index.shtml
│ │ ├── logo.png
│ │ └── style.css
│ ├── connected_device_3
│ │ ├── Makefile
│ │ ├── server.c
│ │ └── web_root
│ │ ├── index.shtml
│ │ ├── jquery-1.11.3.min.js
│ │ ├── logo.png
│ │ ├── main.js
│ │ └── style.css
│ ├── connected_device_4
│ │ ├── Makefile
│ │ ├── server.c
│ │ └── web_root
│ │ ├── index.shtml
│ │ ├── jquery-1.11.3.min.js
│ │ ├── jquery.flot.min.js
│ │ ├── jquery.flot.time.js
│ │ ├── logo.png
│ │ ├── main.js
│ │ └── style.css
│ ├── ESP8266_RTOS
│ │ ├── gen_misc.sh
│ │ ├── ld
│ │ │ └── eagle.app.v6.512.compact.ld
│ │ ├── Makefile
│ │ ├── README.md
│ │ ├── readme.txt
│ │ └── user
│ │ ├── esp_libc.c
│ │ ├── Makefile
│ │ ├── mongoose.c -> …/…/…/mongoose.c
│ │ ├── mongoose.h -> …/…/…/mongoose.h
│ │ └── user_main.c
│ ├── examples.mk
│ ├── http_client
│ │ ├── http_client.c
│ │ ├── http_client.vcxproj
│ │ └── Makefile
│ ├── json_rpc_server
│ │ ├── json_rpc_server.c
│ │ └── Makefile
│ ├── load_balancer
│ │ ├── Dockerfile
│ │ ├── load_balancer.c
│ │ ├── Makefile
│ │ ├── README.md
│ │ └── unit_test.sh
│ ├── Makefile
│ ├── mqtt_broker
│ │ ├── Makefile
│ │ └── mqtt_broker.c
│ ├── mqtt_client
│ │ ├── Makefile
│ │ └── mqtt_client.c
│ ├── multithreaded_restful_server
│ │ ├── Makefile
│ │ └── multithreaded_restful_server.c
│ ├── netcat
│ │ ├── Makefile
│ │ └── nc.c
│ ├── publish_subscribe
│ │ ├── Makefile
│ │ └── publish_subscribe.c
│ ├── raspberry_pi_mjpeg_led
│ │ ├── cloud_side.c
│ │ ├── device_side.c
│ │ ├── docs
│ │ │ └── arch.png
│ │ ├── Makefile
│ │ ├── README.adoc
│ │ └── web_root
│ │ ├── doc.html
│ │ ├── docs
│ │ │ └── arch.png -> …/…/docs/arch.png
│ │ ├── framework7.min.css
│ │ ├── framework7.min.js
│ │ └── index.html
│ ├── restful_client
│ │ ├── Makefile
│ │ ├── restful_client.c
│ │ └── restful_client.vcxproj
│ ├── restful_server
│ │ ├── index.html
│ │ ├── Makefile
│ │ ├── restful_server.c
│ │ └── restful_server.vcxproj
│ ├── restful_server_s3
│ │ ├── index.html
│ │ ├── Makefile
│ │ ├── README.md
│ │ └── restful_server_s3.c
│ ├── rules.mk
│ ├── settings_panel_for_a_device
│ │ ├── Makefile
│ │ ├── settings_panel.c
│ │ └── web_root
│ │ ├── fossa.jpg
│ │ ├── index.shtml
│ │ └── jquery-1.11.3.min.js
│ ├── simplest_web_server
│ │ ├── Makefile
│ │ └── simplest_web_server.c
│ ├── tcp_echo_server
│ │ ├── echo_server.c
│ │ └── Makefile
│ └── websocket_chat
│ ├── index.html
│ ├── Makefile
│ └── websocket_chat.c
├── jni
│ └── Android.mk
├── libmongoose.a
├── LICENSE
├── mongoose.c
├── mongoose.h
├── mongoose.o
└── README.md
41 directories, 121 files
package/swupdate/swupdate.mk:# swupdate bundles its own version of mongoose (version 3.8)
SWUpdate: 嵌入式系统的软件升级
package/swupdate/swupdate.mk:# swupdate bundles its own version of mongoose (version 3.8)
https://github.com/cesanta/mongoose
概述
本项目被认为有助于从存储媒体或网络更新嵌入式系统。但是,它应该主要作为一个框架来考虑,在这个框架中可以方便地向应用程序添加更多的协议或安装程序(在SWUpdate中称为处理程序)。
一个用例是从外部本地媒体(如USB-Pen或sd卡)进行更新。在这种情况下,更新是在没有操作员干预的情况下完成的:它被认为是“一键更新”,软件在复位时启动,只需按下一个键(或者以任何目标可以识别的方式),自动进行所有检查。最后,更新过程只向操作员报告状态(成功或失败)。
输出可以使用帧缓冲设备显示在LCD上,也可以定向到串行通讯端口上(Linux控制台)。
它通常用于单拷贝方案中,在initrd中运行(用Yocto提供的配方生成)。但是,通过使用软件集合( collections ),可以在双拷贝方案中使用它。
如果启动了远程更新,SWUpdate将启动嵌入式web服务器并等待请求。操作者必须上传一个合适的映像,然后SWUpdate会进行检查并安装。所有输出都通过AJAX通知的方式通知操作人员的浏览器。