Dubbio libreria ethernet

Ciao! Sto iniziando ad usare l'Ethernet shield (vecchio modello), ma non riesco a capire una cosa.
Ho provato lo sketch WebClient (questo qua: http://arduino.cc/en/Tutorial/WebClient), e funziona perfettamente. Dovrei aver capito che arduino fa la richiesta GET di una pagina web (in questo caso arduino - Google Search), dopo un po riceve tutti i dati della pagina, e arduino li riscrive carattere per carattere sulla seriale. Ma non riesco a capire dove restano tutti i dati della pagina, in attesa che arduino li legga :~
Grazie :slight_smile:

Il codice è

if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

non c'è nessun buffer, se non quello interno alla seriale.
Arduino riceve un carattere e lo stampa, a ciclo continuo.

Si ma non penso che il sito a cui si fa la richiesta stia lì ad aspettare arduino…dopo che il sito ha inviato i dati, arduino inizia a scriverli lentamente nella seriale…ma intanto dove si fermano sti dati?

Non si fermano da nessuna parte.
Il sito ha una certa velocità di invio. Se Arduino li legge ad una velocità uguale o maggiore li legge tutti, altrimenti ne perde qualcuno.
Poi ricorda che la seriale hardware ha un buffer interno di 64 byte che funge da cuscinetto.

Il chip wiznet montato sull'ethernet shield ha al suo interno un buffer di ricezione e uno di trasmissione. Entrambi da 8kB.
La risposta alla tua richiesta viene messa in quel buffer, i metodi read() della libreria ethernet vanno a leggere il conenuto di quel buffer.

Il buffer della seriale entra in gioco solo se usi la comunicazione seriale.

E poi anche il browser ha la sua cache.