Notifiche push da webserver

Ciao a tutti, sto cercando i venirne a capo ma non riesco…
Devo associare un’evento di notifica push alla pressione di un bottone, lato webserver, che allo stesso tempo varia lo stato di un relè.
Sotto il codice:

#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177);
IPAddress gateway(192,168,1,1); /
IPAddress subnet(255,255,255,0);
char myserver[] = "www.notifymyandroid.com";
EthernetServer server(8083);
EthernetClient clientpush;
char Apikey[] = "1234567891011212;
void setup()
{
  Serial.begin(9600);    
  pinMode(2, OUTPUT); 
  pinMode(3, OUTPUT); 
  digitalWrite(2,HIGH);
  digitalWrite(3,HIGH);
  Ethernet.begin(mac, ip);
  server.begin();
}

void loop()
{
  EthernetClient client = server.available();
  if (client) 
  {
    boolean currentLineIsBlank = true;
    String buffer = "";  
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.print(c);   
        buffer+=c;       
        if (c == '\n' && currentLineIsBlank) 
        {
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println();
          client.println("<html>");
          client.println("<head>");
          client.println("<title>Webserver</title>");
          client.println("</head>");
          client.println("<div style='width:360px; height:360px;'>");
          client.println("<ul>");
          client.println("<li><form action=\"./?1-on\" method=\"post\"><button type=\"submit\">Notifica</button>
</form></li>");  
          client.println("</ul>");
          client.println("

");
          client.println("</div>");
          client.println("</body>");
          client.println("</html>");
          break;
        }
        if (c == '\n') 
        {
          currentLineIsBlank = true;
          buffer="";       
        } 
        else if (c == '\r') 
        {            
          if(buffer.indexOf("POST /?1-on")>=0)
          {
             digitalWrite(2,LOW);  
             delay(200);
             digitalWrite(2,HIGH);
             sendGET(Apikey,"2","Notifica","Prova");
          }  
        }
        else 
        {
          currentLineIsBlank = false;
        }
      }
    }
    delay(1);
    client.stop();
  }//end if client
}//end void loop
//////////////////////////
void sendGET(char Api[], char Priority[], char Eventi[],char Desc[]) 
{
  if (clientpush.connect(myserver, 80)) {
    Serial.print("connected");
    clientpush.print("GET /publicapi/notify?apikey=");
    clientpush.print(Api);
    clientpush.print("&priority=");
    clientpush.print(Priority);
    clientpush.print("&application=arduino&event=");
    clientpush.print(Eventi);
    clientpush.print("&description=");
    clientpush.print(Desc);
    clientpush.print(" HTTP/1.1");
    clientpush.print("Host: ");
    clientpush.print(myserver);
    clientpush.print("User-Agent: Arduino");
    clientpush.println();
  } 
  else {
    Serial.println("connection failed");
    Serial.println();
  }

  while(clientpush.connected() && !clientpush.available()) delay(1); //waits for data
  while (clientpush.connected() || clientpush.available()) { //connected or data available
    char c = clientpush.read();
    Serial.print(c);
  }

  Serial.println();
  Serial.println("disconnecting.");
  Serial.println("==================");
  Serial.println();
  clientpush.stop();

}

Praticamente, quando accedo al webserver da browser, mi parte il relè senza che io abbia cliccato sul bottone. Se elimino la funzione sendget funziona tutto regolarmente. Possibile che il problema derivi dal fatto che non chiudo correttamente il socket relativo alla variabile client?
Potete aiutarmi?

Grazie.
Eleonora.

dove fai l'if

buffer.indexOf("POST /?1-on")

tieni d'occhio il valore di buffer. Arduino ha qualche bel problema di ram, un array

Possibile che il problema derivi dal fatto che non chiudo correttamente il socket relativo alla variabile client?

Scrivi HTTP1.0 ibvece che l'HTTP1.1 e sei allineata alle specifiche :)