Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stability #19

Open
guilhermeaiolfi opened this issue Oct 24, 2021 · 1 comment
Open

Stability #19

guilhermeaiolfi opened this issue Oct 24, 2021 · 1 comment

Comments

@guilhermeaiolfi
Copy link

Hi,

I've been playing around the same ideas about weeks now and you managed to compile everything I learnt in a very comprehensive way. I managed to do the same using another library (mWebSocket) and after discovering about AsyncTCP and AsyncWebServer, I was willing to update my code and use those libraries. Except that there are many complains about the stability of the AsyncTCP library and the author doesn't look active working in the project anymore.

In this video Phil cover some problems it has: https://www.youtube.com/watch?v=txpVm1ftGOI

What I would like to ask you is this: after working in this project, how stable do you think it is? Have you left it running for long periods of time? I'm concern because the project I am working on, stability is essential.

Anyway, thank you for sharing so much with us. It really helps a lot.

@m1cr0lab
Copy link
Member

m1cr0lab commented Oct 25, 2021

Hello @guilhermeaiolfi,

Indeed the code of ESPAsyncWebserver has not evolved much since the last two years... And code is not always perfect. The conditions of use can cause bugs that the author didn't necessarily think of. But that doesn't take anything away from the consistent and remarkable work of Me No Dev.

For my part, I have no complaints about the ESPAsyncWebserver library. I have never experienced any particular instability. I even helped a friend to develop a temperature control system for his wine cellar, which he can control from his smartphone. And this system works 24/24 7/7. I guess he is very satisfied with it.

However, there is one thing that people forget (some of them are not even aware of it), and that has nothing to do with the ESPAsyncWebserver library itself. Microcontrollers usually have very little memory space. The management of resources that take up memory must be given special attention. It is easy to write code that introduces memory leaks. I see a lot of people, for example, using the String class... This class is well known for abusing RAM and necessarily leads to long-term memory fragmentation. This is often the cause of untimely crashes after a few days (or even hours) in many projects. So I encourage you to avoid using the String class as much as possible to avoid turning your microcontroller's memory into swiss cheese.

I didn't know Phil Bowles' H4Tools, and I thank you for this reference. I'll have to find a moment one day to test these tools.

Anyway, thank you very much for your feedback @guilhermeaiolfi, I'm very glad I could help you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants