MKR Wifi client connected

Hallo,
nachfolgend ein Auszug aus dem Beispiel WifiWebServer:
kann mir jemand sagen, warum der Client drei mal abgefragt wird,

  • 1 ...if client
  • 2 ...while (client.connected()
  • 3 ... if (client.available())

Bei der seriellen Schnittstell frage ich ja auch nicht, ob diese vorhanden ist,
sondern nur ...if (Serial.available()

void loop() {
// listen for incoming clients
WiFiClient client = server.available();
if (client) {
Serial.println("new client");
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {

  1. Die Serielle ist immer vorhanden, client nicht.
  2. Der client kann die Verbindung verlieren, z.B. wenn die Gegenstelle verschwindet
  3. Solange etwas zum Lesen da ist

Das Einlesen kann etwas dauern, so dass available() nicht immer > 0 ist.

Gruß Tommy