Spedire stringa Arduino

CIao a tutti! Ho appena acquistato il mio primo arduino ethernet!
Sto provando a mandare una stringa via TCP al mio server.

Vi posto il codice:

int Connetti() {
  // Inizio la connessione Ethernet
  Ethernet.begin(_mac, _ip);
  
  // Se la connessione riesce
  if(_client.connect()) {
    // Stringa indirizzo server
    String indirizzo = String(_server[0], DEC) + ".";
    indirizzo += String(_server[1], DEC) + ".";
    indirizzo += String(_server[2], DEC) + ".";
    indirizzo += String(_server[3], DEC);
     
    Log("Connesso al server: " + indirizzo ); 
    
    // Invio messaggio di connessione al server
    // ADD:"ID-Sensore";
    //String message = String("ADD:") + String(_ID, DEC) + String(";");
    String message = "ADD";
    _client.println(message);
    
    Log(message);
    
    return 1; 
  }
  else {
     Log("Connessione non riuscita :( "); 
     delay(1000);
     return 0;
  }

e quello del server C#

public static void Ascolta() {
			Console.WriteLine("In ascolto...");
			TcpListener listener = new TcpListener(IPAddress.Any, 3000);
			listener.Start();
			
			while(true) {

				Socket client = listener.AcceptSocket();
				Console.WriteLine("Connection accepted from " + client.RemoteEndPoint);
				byte[] message = new byte[7000];
				int bytesRead;
				
				bytesRead = client.Receive(message);
				
				for (int i=0;i<bytesRead;i++)
            		Console.Write(Convert.ToChar(message[i]));
				//Console.WriteLine(System.Text.ASCIIEncoding.ASCII.GetString(message, 0, bytesRead));
			}
		}

Come vedete prova a mandare la stringa "ADD" ma il server stampa solo la stringa "AD". Dove sbaglio?

Grazie dell'aiuto, un saluto.

forse i dati non vengono ricevuti tutti in una volta sola.
Nel server cambia il sistema di lettura in modo che finchè il client è connesso continui a leggere i dati in arrivo da esso.

non conosco il c#, ma dovresti semplicemente aggiungere un

while ( client.connect() ){
    bytesRead = client.Receive(message);
}

in realtà sarebbe ideale avere un thread/processo che fa il poll dei dati in arrivo.

Avevi perfettamente ragione! Non manda i dati tutti in una volta :smiley:

Grazie mille!!!