2016-05-29 16:02:10 +08:00
|
|
|
---
|
|
|
|
title: Overview
|
|
|
|
---
|
|
|
|
|
|
|
|
Mongoose is a swiss army knife for embedded network programming.
|
2016-07-21 21:30:03 +08:00
|
|
|
It implements event-driven non-blocking APIs for TCP, UDP, HTTP,
|
|
|
|
WebSocket, CoAP, MQTT for client and server mode.
|
2016-05-29 16:02:10 +08:00
|
|
|
Features include:
|
|
|
|
|
|
|
|
- Cross-platform: works on Linux/UNIX, MacOS, QNX, eCos, Windows, Android,
|
2016-07-21 21:30:03 +08:00
|
|
|
iPhone, FreeRTOS (TI CC3200, ESP8266) and more
|
2016-05-29 16:02:10 +08:00
|
|
|
- Single-threaded, asynchronous, non-blocking core with simple event-based API
|
|
|
|
- Native support for [PicoTCP embedded TCP/IP stack](http://www.picotcp.com),
|
|
|
|
[LWIP embedded TCP/IP stack](https://en.wikipedia.org/wiki/LwIP)
|
2016-07-21 21:30:03 +08:00
|
|
|
- Built-in protocols:
|
2016-05-29 16:02:10 +08:00
|
|
|
- plain TCP, plain UDP, SSL/TLS (over TCP, one-way or two-way)
|
2016-05-29 16:14:28 +08:00
|
|
|
- HTTP client and server
|
|
|
|
- WebSocket client and server
|
|
|
|
- MQTT client and server
|
|
|
|
- CoAP client and server
|
|
|
|
- DNS client and server
|
|
|
|
- asynchronous DNS resolver
|
2016-05-29 16:02:10 +08:00
|
|
|
- Tiny static and run-time footprint
|
|
|
|
- Source code is both ISO C and ISO C++ compliant
|
|
|
|
- Very easy to integrate: just copy
|
|
|
|
[mongoose.c](https://raw.githubusercontent.com/cesanta/mongoose/master/mongoose.c) and
|
|
|
|
[mongoose.h](https://raw.githubusercontent.com/cesanta/mongoose/master/mongoose.h)
|
|
|
|
files to your build tree
|