Files
AsyncTCP/README.md
T

63 lines
2.5 KiB
Markdown
Raw Normal View History

2019-10-14 12:45:57 +02:00
# AsyncTCP
2024-04-19 23:54:56 +02:00
[![License: LGPL 3.0](https://img.shields.io/badge/License-LGPL%203.0-yellow.svg)](https://opensource.org/license/lgpl-3-0/)
2024-07-29 17:20:04 +02:00
[![Continuous Integration](https://github.com/mathieucarbou/AsyncTCP/actions/workflows/ci.yml/badge.svg)](https://github.com/mathieucarbou/AsyncTCP/actions/workflows/ci.yml)
2024-07-16 22:16:00 +02:00
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/mathieucarbou/library/AsyncTCP.svg)](https://registry.platformio.org/libraries/mathieucarbou/AsyncTCP)
2024-04-19 23:54:56 +02:00
2024-10-27 08:31:56 +01:00
A fork of the [AsyncTCP](https://github.com/me-no-dev/AsyncTCP) library by [@me-no-dev](https://github.com/me-no-dev).
2019-10-14 12:45:57 +02:00
2019-09-24 22:32:18 +03:00
### Async TCP Library for ESP32 Arduino
2017-09-08 13:07:27 +03:00
This is a fully asynchronous TCP library, aimed at enabling trouble-free, multi-connection network environment for Espressif's ESP32 MCUs.
2024-04-19 23:54:56 +02:00
This library is the base for [ESPAsyncWebServer](https://github.com/mathieucarbou/ESPAsyncWebServer)
2017-09-08 13:07:27 +03:00
## AsyncClient and AsyncServer
2024-06-23 12:13:09 +02:00
2017-09-08 13:07:27 +03:00
The base classes on which everything else is built. They expose all possible scenarios, but are really raw and require more skills to use.
2024-04-19 23:33:28 +02:00
## Changes in this fork
2024-10-27 01:09:05 +02:00
- Based on [ESPHome fork](https://github.com/esphome/AsyncTCP)
- `library.properties` for Arduino IDE users
- Add `CONFIG_ASYNC_TCP_MAX_ACK_TIME`
- Add `CONFIG_ASYNC_TCP_PRIORITY`
- Add `CONFIG_ASYNC_TCP_QUEUE_SIZE`
- Add `setKeepAlive()`
2024-04-19 23:33:28 +02:00
- Arduino 3 / ESP-IDF 5 compatibility
2024-10-27 01:09:05 +02:00
- Better CI
- Better example
- Customizable macros
- Fix for "Required to lock TCPIP core functionality". Ref: https://github.com/mathieucarbou/AsyncTCP/issues/27 and https://github.com/espressif/arduino-esp32/issues/10526
- Fix for "ack timeout 4" client disconnects.
- Fix from https://github.com/me-no-dev/AsyncTCP/pull/173 (partially applied)
- Fix from https://github.com/me-no-dev/AsyncTCP/pull/184
- IPv6
- LIBRETINY support
- LibreTuya
- Reduce logging of non critical messages
- Use IPADDR6_INIT() macro to set connecting IPv6 address
- xTaskCreateUniversal function
2024-06-23 12:13:09 +02:00
2024-07-19 09:25:26 +02:00
## Coordinates
```
2024-12-15 18:17:42 +01:00
mathieucarbou/AsyncTCP @ ^3.3.0
2024-07-19 09:25:26 +02:00
```
2024-06-23 12:13:09 +02:00
## Important recommendations
Most of the crashes are caused by improper configuration of the library for the project.
Here are some recommendations to avoid them.
I personally use the following configuration in my projects:
```c++
2024-12-11 11:05:16 +01:00
-D CONFIG_ASYNC_TCP_MAX_ACK_TIME=5000 // (keep default)
-D CONFIG_ASYNC_TCP_PRIORITY=10 // (keep default)
-D CONFIG_ASYNC_TCP_QUEUE_SIZE=64 // (keep default)
-D CONFIG_ASYNC_TCP_RUNNING_CORE=1 // force async_tcp task to be on same core as the app (default is core 0)
-D CONFIG_ASYNC_TCP_STACK_SIZE=4096 // reduce the stack size (default is 16K)
2024-06-23 12:13:09 +02:00
```