problemi con la comunicazione ethernet

Ciao a tutti

ho appena iniziato a usare arduino e stavo provando l'ethernet e ho creato questo codice:

#include <Ethernet.h>
int ledPin = 8;   
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192,168,1,55 };
byte gateway[]={192,168,1,254};
byte subnet[] = { 255, 255,255, 0 };

Server server = Server(23);


void setup()
{
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, HIGH);
  Ethernet.begin(mac, ip,gateway,subnet);
  
  server.begin();
}

void loop () 
{
  digitalWrite(ledPin, HIGH);
  delay(3000);
  Client client = server.available();
  if (client)
  {
    while (client.connected())
    {
       digitalWrite(ledPin, LOW);
       server.print("prova");
       if (client.available())
       {
         char ch=client.read();
       } 
       delay(2000);
       
    }
  }
}

quando però lo vado a testare non funziona poichè client è sempre uguale a 0.Infatti se elimino i controlli fatti sul client funziona tutto.
Anche a qualcun'altro è successo???come posso risolvere il problema???

Grazie

ciao a cosa serve il "server.print()" ?

era solo per fare una prova in lettura e srittura.Ma il problema non è quello è che l'oggetto client è sempre a 0 e quindi non arriva neanche fino a li.Dimenticavo di specificare che il client è un programma scritto in c++ utilizzando i socket.Penso che il problema sia il fatto che arduino non mi riconosce il client ma non capisco perchè visto che sono collegati e se tolgo i controlli riesco ad inviare al client i dati ma non riesco a leggere da server.