Ripetere un'azione

Io quel codice non lo capisco.
Prima alla variabile "ritorno" assegni il valore -1 e subito dopo gli assegni il valore ritornato dalla funzione takefoto().

Anche questo codice non mi convince

if (!client.connected()) {

connected() dovrebbe ritornare vero se è gia connesso e falso se disconnesso, quindi la seconda volta non dovrebbe eseguire ciò che c'è dentro la if, poi dici di connetterti specificando il server name e la porta ma nel codice seguente questi argomenti non li specifichi, vuoi provare a specificarli? magari funziona.

Ciao.