esp8266 (nodemcu 0.9) client.write très lent ???

Bonjour à tous,
j'essaie d'établir une communication entre une carte nodemcu exp8266 et mon pc en wifi via les sockets wifi. Cela fonctionne plutôt bien mais le problème vient de la lenteur des instructions liés à l'écriture : par exemple client.write(buf)
qui s’exécute en 200ms et est donc bloquante. Comment peut on faire pour réduire ce temps d'écriture car c'est vraiment handicapant.

Merci
A+
Antoconde

Vous êtes sous Windows? Si oui c’est sans doute dû aux delayed acks

If you make a network trace with a network sniffer such as Microsoft Network Monitor, the TCP server sends a TCP ACK segment to the last TCP segment in a TCP data stream in the delayed acknowledgement timer (also known as the delayed ACK timer). By default, for Windows operating systems, the value for this timer is 200 milliseconds (ms).

Faut éventuellement gérer l’agrégagtion D’ACK dans votre code PC en contournant les infos systèmes. ça améliorera un peu les choses - mais le problème est côté PC pas ESP (passer sur Linux ou Mac dont les OS gèrent ça mieux Ets une option :slight_smile: mais ce ne sera pas 100% top. Cf les idées de workaround proposées par Microsoft dans le lien ci dessus)

Vous pouvez aussi installer le dernier build (un peu instable) de la dernière version du code ESP8266 pour Arduino --> ça ne se fait pas automatiquement il faut cloner ce GitHub à la main dans hardware/esp8266com/esp8266 (comme documenté sur le Github). Si vous utilisez la fonction de l'IDE pour charger le code, vous aurez une ancienne version et ce qui suit ne compilera pas.

J’en parle dans mon début de tuto Techniques "avancées" de serveur web sur ESP8266 ( c’est plus pour du SPIFFS/AJAX que pour votre cas) car la stack tcp et le client.write() on été améliorés... à voir si ça vous aide...