Problema con stringa

Il problema è che invio la richiesta tramite URL: http:///?r=10&g=20&b=30&e=40... ma funziona solo la prima volta, poi restituisce sempre il primo valore, come se una volta impostata la variabile diventi ReadOnly...

Per processare le mie stringhe ricevute tramite lo shield ethernet uso:

#include <WString.h>
String HTTP_req; // Salvo le richieste HTTP globali

void loop()
{
// listen for incoming clients
EthernetClient client = server.available();
if (client) {

// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();

if (readString.length() < 100) {
//store characters to string
readString.concat(c);
}

HTTP_req += c;
Serial.write(c);

if (c == '\n' && currentLineIsBlank) {

client.println("HTTP/1.1 201 Created");
client.println("Content-Type: application/json");
//client.println("Content-Length: 300");
client.println("Connection: close");
client.println();
client.println("{");

int startIndex = HTTP_req.indexOf("r");
int endIndex = HTTP_req.indexOf("g");
String redStr = HTTP_req.substring(startIndex + 2, endIndex - 1);
char tempRed[4];
redStr.toCharArray(tempRed, sizeof(tempRed));
redVal = atoi(tempRed);
startIndex = HTTP_req.indexOf("g");
endIndex = HTTP_req.indexOf("b");
String greenStr = HTTP_req.substring(startIndex + 2, endIndex -1);
char tempGreen[4];
greenStr.toCharArray(tempGreen, sizeof(tempGreen));
greenVal = atoi(tempGreen);
startIndex = HTTP_req.indexOf("b");
endIndex = HTTP_req.indexOf("e");
String blueStr = HTTP_req.substring(startIndex + 2, endIndex -1);
char tempBlue[4];
blueStr.toCharArray(tempBlue, sizeof(tempBlue));
blueVal = atoi(tempBlue);

Serial.print("Stringa ricevuta:");
Serial.println(HTTP_req);
Serial.println(redStr);
Serial.println(greenStr);
Serial.println(blueStr);
Serial.println(redVal);
Serial.println(greenVal);
Serial.println(blueVal);

client.println("}");
break;
}
if (c == '\n') {
currentLineIsBlank = true;

/Niente codice qui va in loop/

}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
delay(1);
client.stop();
}
}

Prova a spostare

String HTTP_req;

dentro a loop().

@ADemo86: in conformità al regolamento, punto 7, edita (in basso a destra del post, bottone More -> Modify) il tuo post e racchiudi il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone fatto così: </>, tutto a sinistra). Grazie.

Guglielmo