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.