Problema Ethernet Shield e MAX numero connessioni

Ciao a tutti, è un po di tempo che provo a risolvere un problema sulla gestione delle connessioni TCP con la libreria Ethernet ma nulla.

In pratica io imposto Arduino come server che sta in ascolto su una determinata porta, e quando un client si collega manda delle stringhe. Il problema è se l'host (il pc da cui mi collego) si collega/scollega per più di 5 volte Arduino si inchioda e non comunica più.. E' una cosa strana, qulcuno di voi ha riscontrato lo stesso problema e sa come risolverlo ? O sbaglio io qualcosa ?

Vi posto il codice di esempio...

#include <Ethernet.h>
#include <stdio.h>
#include <String.h> 

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 };
byte gateway[] = { 10, 0, 0, 1 };
byte subnet[] = { 255, 255, 0, 0 };
int port = 23;
Server server(port);
byte endByte = 0;

void setup()
{
  Ethernet.begin(mac, ip, gateway, subnet);
  server.begin();
}

void loop()
{
  Client client = server.available();
  if (client) { 
    sendTCPcommand("1#1");

  }

}


void sendTCPcommand(char* outTCPString){
    for (int i = 0; i < strlen(outTCPString); i++) {
      server.write(outTCPString[i]);
    }
    server.write(endByte);  
    delay(1000);
}

Grazie a tutti per l'aiuto

è vecchio di un mese il topic ma l'ho visto solo ora, ti rispondo ugualmente. hai provato con un client.stop() dopo il sendTCPcommand?