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.