Tengo dos arduinos con dos placas ethernet shield.
Mi sistema lo que hace es que un arduino mande comandos por red y el otro los interprete. La parte de interpretar no da problemas, ya que con el hyperterminal o telnet puedes estar horas "hablandole".
El problema esta en el arduino que envia.
Le pongo por ejemplo el siguiente codigo:
Lo que hace es mandas numeros del 1 al 6 en modo creciente y luego decreciente.
Y pasados unos dos minutos mas o menos deja de emitir sin razon aparente.
Tu le puedes mandar comandos por hyperterminal y sigue funcionando pero hasta que no reseteas el arduino que emite no comienza otra vez a mandar numeros.
Hace tiempo estuve trasteando con el arduino como cliente y me pasaba lo mismo. El arduino mandaba los datos al PC y al cabo de un rato se paraba. Me estuve volviendo loco porque era algo esporádico, y al final, en un rincón de la documentación algo relativo al número de conexiones abiertas simultáneamente. Total, que modifiqué el código y a partir de ahí empezó a funcionar de maravilla. Te lo paso entero, pro si te sirve de ayuda:
Conecte otro arduino al cabe RX para monitorizar lo que se recibia y "casualmente" los caracteres transmitidos eran 4096. El cuanto vi que era binario me lo empece a oler....
El error estaba es el comando del servidor "server.Write(server.Read)"