1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-07 01:54:26 +01:00

Added comments to WebServer example

This commit is contained in:
Tom Igoe 2010-07-25 16:27:38 +00:00
parent ee4d22e832
commit 19e73b18a7

View File

@ -1,35 +1,52 @@
/* /*
* Web Server Web Server
*
* A simple web server that shows the value of the analog input pins. A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.
Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)
created 18 Dec 2009
by David A. Mellis
*/ */
#include <Ethernet.h> #include <Ethernet.h>
// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 }; byte ip[] = { 192,168,1, 177 };
// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
Server server(80); Server server(80);
void setup() void setup()
{ {
// start the Ethernet connection and the server:
Ethernet.begin(mac, ip); Ethernet.begin(mac, ip);
server.begin(); server.begin();
} }
void loop() void loop()
{ {
// listen for incoming clients
Client client = server.available(); Client client = server.available();
if (client) { if (client) {
// an http request ends with a blank line // an http request ends with a blank line
boolean current_line_is_blank = true; boolean currentLineIsBlank = true;
while (client.connected()) { while (client.connected()) {
if (client.available()) { if (client.available()) {
char c = client.read(); char c = client.read();
// if we've gotten to the end of the line (received a newline // if you've gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended, // character) and the line is blank, the http request has ended,
// so we can send a reply // so you can send a reply
if (c == '\n' && current_line_is_blank) { if (c == '\n' && currentLineIsBlank) {
// send a standard http response header // send a standard http response header
client.println("HTTP/1.1 200 OK"); client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html"); client.println("Content-Type: text/html");
@ -46,16 +63,18 @@ void loop()
break; break;
} }
if (c == '\n') { if (c == '\n') {
// we're starting a new line // you're starting a new line
current_line_is_blank = true; currentLineIsBlank = true;
} else if (c != '\r') { }
// we've gotten a character on the current line else if (c != '\r') {
current_line_is_blank = false; // you've gotten a character on the current line
currentLineIsBlank = false;
} }
} }
} }
// give the web browser time to receive the data // give the web browser time to receive the data
delay(1); delay(1);
// close the connection:
client.stop(); client.stop();
} }
} }