Mongoose - Embedded Web Server / Embedded Networking Library
Mongoose is ideal for embedded environments. It has been designed for connecting devices and bringing them online. On the market since 2004, used by vast number of open source and commercial products - it even runs on the International Space station! Mongoose makes embedded network programming fast, robust, and easy.
Looking for a complete IoT solution with firmware and cloud components? Check out Mongoose IoT Firmware and Cloud.
Support
Features
Cross-platform: works on Linux/UNIX, MacOS, QNX, eCos, Windows, Android, iPhone, FreeRTOS (TI CC3200, ESP8266), etc
Supported hardware platforms: TI CC3200, TI MSP432, NRF52, STM32, PIC32, ESP8266, ESP32 and more
Builtin protocols:
plain TCP, plain UDP, SSL/TLS (over TCP, one-way or two-way)
HTTP client, HTTP server
WebSocket client, WebSocket server
MQTT client, MQTT broker
CoAP client, CoAP server
DNS client, DNS server, async DNS resolver
Single-threaded, asynchronous, non-blocking core with simple event-based API
Tiny static and run-time footprint
Source code is both ISO C and ISO C++ compliant
Very easy to integrate: just copy mongoose.c and mongoose.h files to your build tree
Licensing
Mongoose is released under Commercial and GNU GPL v.2 open source licenses.
Dashboard Example
Mongoose is often used to implement device dashboards and real-time data exchange over Websocket. Here is a dashboard example that illustrates the functionality:
Contributions
To submit contributions, sign Cesanta CLA and send GitHub pull request. You retain the copyright on your contributions.
Looking for a pre-compiled Mongoose web server Windows or Mac binary?