nodeMCU Servidor Web info


hola!
tengo una duda al respecto, consultado varias páginas y se puede programar una página web de estas dos maneras:

code: [select]

// devuelvo la respuesta al cliente -> todo ha ido bien, el mensaje ha sido interpretado correctamente
  client.println("http/1.1 200 ok");
  client.println("content-type: text/html");
  client.println(""); //  not forget one
 
  // partir de aquí creo la página en raw html
  client.println("<!doctype html>");
  client.println("<html>");
 
  client.print("el led está:  ");
 
  if(value == high) {
    client.print("on");
  } else {
    client.print("off");
  }
  client.println("<br><br>");
  client.println("<a href=\"/led=on\"\"><button>encender </button></a>"); // los botones con enlace
  client.println("<a href=\"/led=off\"\"><button>apagar </button></a><br />"); 
  client.println("</html>");






code: [select]


void loop(void){
  server.handleclient();                    // listen http requests clients
}

void handleroot() {                         // when uri / requested, send web page button toggle led
  server.send(200, "text/html", "<form action=\"/led\" method=\"post\"><input type=\"submit\" value=\"toggle led\"></form>");
}

void handleled() {                          // if post request made uri /led
  digitalwrite(led,!digitalread(led));      // change state of led
  server.sendheader("location","/");        // add header respond new location browser go home page again
  server.send(303);                         // send browser http status 303 (see other) redirect
}

void handlenotfound(){
  server.send(404, "text/plain", "404: not found"); // send http status 404 (not found) when there's no handler uri in request
}



he visto que la primera de ellas es más común, me gustaría saber cuál es la diferencia de usar la clase cliente o la clase servidor para poder hacer la misma página web por ejemplo. mi duda es más conceptual..

gracias de antemano!!!

la primera es un "socket de red" simple; y eso significa que las cabeceras http (petición y respuesta) deben ser manejadas manualmente.

la segunda hace lo anterior, simplificando la programación funciones "callback" (eventuales) que manejan todos los casos posibles de petición (o al menos los programados). e incluso simplifica la creación de una respuesta, como si se tratara de un "objeto".


Arduino Forum > International > Español > Software (Moderators: surbyte, Hector_A) > nodeMCU Servidor Web info


arduino

Comments

Popular posts from this blog

Error compiling for board Arduino/Genuino Uno.

Installation database is corrupt

esp8266 (nodemcu 0.9) client.write très lent ???