F1ATB forum
Version V15.01 du routeur - Version imprimable

+- F1ATB forum (https://f1atb.fr/forum_f1atb)
+-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html)
+--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html)
+--- Sujet : Version V15.01 du routeur (/thread-1692.html)

Pages : 1 2 3 4 5 6 7


RE: Version V15.01 du routeur - F1ATB - 17-08-2025

Je ne suis pas encore convaincu de l'intérêt de fermer les connections par un clientESP_RMS.stop(); En attendant j'en ai mis pour le Shelly, cela ne peut pas faire du mal.
Comme le mentionne Michy, le destructeur de WifiClient en sortie de routine doit faire cela.

Je ne le vois pas systématiquement dans les exemples de l'IDE Arduino.
Sur les milliers d'échanges par jour, si c'était nécessaire, on verrait beaucoup plus de problèmes.

A suivre

André


RE: Version V15.01 du routeur - Lolo69 - 17-08-2025

(17-08-2025, 07:31 PM)F1ATB a écrit : Je ne suis pas encore convaincu de l'intérêt de fermer les connections par un clientESP_RMS.stop(); En attendant j'en ai mis pour le Shelly, cela ne peut pas faire du mal.
Comme le mentionne Michy,  le destructeur de WifiClient  en sortie de routine doit faire cela.

Je ne le vois pas systématiquement dans les exemples de l'IDE Arduino.
Sur les milliers d'échanges par jour, si c'était nécessaire, on verrait beaucoup plus de problèmes.

A suivre

André

les sockets finissent effectivement par se fermer toutes seules, mais saturent les piles TCPs , observe les trames avec Wireshark c est très significatifs et ce n'est pas un hasard si mes connexion failed et mes timeouts ont disparu, en tout cas cela reste toujours une bonne pratique de fermer une connexion avant d'en rouvrir une deuxieme.
Au pire on pourrait garder la connexion ouverte en permanence, pour gagner quelques ms mais dans ce cas ne pas en rouvrir en //

  // Exemple : fermer la connexion après usage
  Serial.println("Fermeture de la connexion...");
  client.stop();  // ? fermeture propre du socket

en tout cas on attend avec interet les retours des forumeurs


RE: Version V15.01 du routeur - Sgb31 - 18-08-2025

Merci Lolo69, André pour cette nouvelle version.
Maj faite ce matin sur mes routeurs en service
je reviens vers vous pour un retour rapide ;-) !


RE: Version V15.01 du routeur - F1ATB - 19-08-2025

Dans la version 15.03, vous aurez les fermetures propres des sockets comme suggéré par Lolo69 et d'autres pour toutes les connexions.
Bons tests

André


RE: Version V15.01 du routeur - Sgb31 - 19-08-2025

Merci André pour toujours autant de suivi , partage et réactivité !
V15.02 installé depuis hier et malgré une météo pas terrible et donc peu de routage , plus d'erreurs Shelly pour moi
juste quelques erreurs "client ESP_RMS Timeout !" mais qui semble n'avoir rien à voir avec le dernier sujet traité !


RE: Version V15.01 du routeur - Lolo69 - 19-08-2025

Merci sgb31 pour ton retour
A n’en pas douter ,André aura aussi traité la partie RMS dans sa version 15.03 si tu veux bien tester et nous dire


RE: Version V15.01 du routeur - Sgb31 - 19-08-2025

Ok lolo69, je teste ça et je reviens vous dire .
En tout cas , entre la super réactivité d'André et ton travail d'investigation affiné et précis
Chapeau bas, messieurs !


RE: Version V15.01 du routeur - FastFrench - 22-08-2025

(17-08-2025, 07:31 PM)F1ATB a écrit : Je ne suis pas encore convaincu de l'intérêt de fermer les connections par un clientESP_RMS.stop(); En attendant j'en ai mis pour le Shelly, cela ne peut pas faire du mal.
Comme le mentionne Michy,  le destructeur de WifiClient  en sortie de routine doit faire cela.

Je ne le vois pas systématiquement dans les exemples de l'IDE Arduino.
Sur les milliers d'échanges par jour, si c'était nécessaire, on verrait beaucoup plus de problèmes.

A suivre

André

Une fois n'est pas coutume, je suis d'accord aussi bien avec André qu'avec Lolo69. 
Le point de vue d'André se défend, dans la mesure où on demande déjà la déconnexion à chaque requête dans l'entête HTTP, en principe ce n'est pas utile de faire un stop() pour cela dans la foulée.
Code :
clientESP.print(String("GET ") + url + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
Mais d'un autre côté, NetworkClient.stop() ne fait pas qu'interrompre la connexion. Dans le détail, la méthode stop() effectue plusieurs opérations importantes :
1. Fermeture de la connexion réseau - Elle termine proprement la connexion TCP/IP établie
2. Libération des ressources - Elle libère les buffers de réception et d'émission
3. Nettoyage des descripteurs - Elle nettoie les descripteurs de socket et les structures internes
4. Réinitialisation de l'état - Elle remet l'objet client dans un état "non connecté"

Donc si on peut raisonnablement penser qu'elle n'est pas requise pour les points 1 et 4, il reste intéressant de l'appeler pour les deux autres points. 
Dans tous les cas, l'appeler systématiquement ne devrait pas faire de mal.


RE: Version V15.01 du routeur - Lolo69 - 22-08-2025

Et une fois n’est pas coutume je suis entièrement en ligne avec l analyse de fastfrench.
Il semble que n effet que le stop dans la version 15.03 a drastiquement reduit le nombre de connexion failed chez 2 ou 3 forumeurs qui l’ont testé.


RE: Version V15.01 du routeur - FastFrench - 22-08-2025

(22-08-2025, 11:25 AM)Lolo69 a écrit : Et une fois n’est pas coutume je suis entièrement en ligne avec l analyse de fastfrench.
Il semble que n effet que le stop dans la version 15.03 a drastiquement reduit le nombre de connexion failed chez 2 ou 3 forumeurs qui l’ont testé.

Effectivement. Mais ces améliorations sont bien liées à l'ajout des stop() ?
Car il est tout à fait normal (et "mécanique") que la 15.01 réduise nettement le nombre d'erreurs, puisqu'elle consiste à augmenter le TimeOut à la connexion de 1 à 3 secondes d'une part, et dans certains cas refait une nouvelle tentative dans la foulée sans afficher d'erreur si le second essai passe. 
Et il me semble (pas revérifié) que les 15.02 et 15.03 généralisent aussi cette "connexion prudente", ce qui pourrait suffire à réduire sensiblement les messages d'erreurs.