Obtenir l'adresse IP du client (Arduino+Ethernet)

quentin131:
on dirait que les 2 bibliothèque n'utilisent pas du tout la même logique...

Si c'est la même logique.
Dans le premier cas on utilise la fonction recv() pour lire un octet sur la socket. Selon le code de retour de recv(), on renvoie le résultat ou bien -1 pour signaler une erreur (et c'est plutôt pourri: et si la valeur lue est -1, comment savoir si il y erreur ou pas ?).
Va dans google et tape "man recv" pour comprendre la fonction recv, qui est une fonction de la bibliothèque standard du langage C.

Dans le second cas, la fonction utilisée est read() (à la place de recv).
read() est également une fonction de la bibliothèque standard du langage C. Mais ce read() standard attend 3 pramètres ! et ici il n'y en a que 2 (tape "man read" sur Google).
Donc ce read() là est surement propre à la bibliothèque UIPEthernet. Cherche la dans cette biblio.
A noter qu'ici aussi, on ne sais pas distinguer entre la réception de l'octet -1 et la détection d'une erreur...