Go Down

Topic: Problema Ethernet Shield e MAX numero connessioni (Read 391 times) previous topic - next topic

Lingo

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...

Code: [Select]

#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

IlBaboomba

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

Go Up