wifiesp e new client che si avvia anche a comunicazione già avvenuta e terminata

Ciao a tutti,
sto provando a risolvere questo comportamento che non mi impatta in maniera negativa in nessun modo ma che vorrei risolvere da un punto di vista di principio, vorrei capire cosa non sto facendo correttamente e capire dove sto sbagliando.

utilizzo arduino mega e una esp8266, quando richiamo via browser la pagina web dal seriale di arduino leggo New Client 0,avviene l'aggiornamento della pagine web correttamente e poi compare Client Disconnecting 0 ad avvenuto completamento della compilazione della pagina web... quasi sempre in automatico, senza che riachiami di nuovo l'aggiornamento della pagina web, ricompare New Client 0 oppure New Client 1, per poi ricomparire Client Disconnecting 0 oppure 1, ma la pagina web rimane non aggiornata, dato che direi non ho richiesto aggiornamento della pagina.

mi sapreste dire come mai? e se sto sbagliando io qualcosa?

allegato il codice completo, non riesco a inserire la parte del codice che invia i dati dato che supero il limite massimo di caratteri... si chiama void inviodati()

[EDIT] dimenticavo, ho fatto le seguenti prove senza esito:
prova 1: aumentare il delay prima del client.stop() ma senza miglioramento
prova 2: svuotare la seriale prima del clien.stop() con while (Serial.available() > 0) a=Serial.read(); ma senza miglioramento...
quello che scredo succeda possono essere due cose:
- la prima che le informazioni che devo ricevere via web non arrivino tutte in tempo e riparte il client per quello(prova 1)
- la seconda prova è di non chiudere il client fino a svuotamento della seriale... ma qui ho il forte dubbio che non andava svuotata la seriale ma il buffer circolare... e se fosse non so come si fa... (prova 2)

grazie

codice .txt (88.8 KB)

Ipotizzo che sia perché un browser può avviare diverse connessioni in sequenza per ottenere tutti gli elementi di una pagina tramite diverse request. In particolare un browser moderno tenta anche di chiedere l'icona del sito (favicon), perché per lui il server su Arduino è un sito come un altro.

Ciao Claudio, quindi non dipende ne da me e ne posso farci nulla... corretto?

Se è quello no, basta riconoscere/gestire la GET che interessa e scartare le altre.

Claudio_FF:
Se è quello no, basta riconoscere/gastite la GET che interessa e scartare le altre.

sai dirmi come si fa?

Ecco si, dovevo scrivere "riconoscere/gestire come già stai facendo".
Con buf.endsWith(...) già riconosci le sole GET di tuo interesse.

ok grazie Claudio!! :slight_smile: