A simple web server that can be bound to either the EthernetInterface or the WiflyInterface.
Dependents: Smart-WiFly-WebServer WattEye X10Svr SSDP_Server
Diff: SW_HTTPServer.cpp
- Revision:
- 55:238dd90b6fb3
- Parent:
- 53:e5d96abe5e9b
- Child:
- 56:df915cb8ba9a
diff -r e5d96abe5e9b -r 238dd90b6fb3 SW_HTTPServer.cpp --- a/SW_HTTPServer.cpp Sun Jun 10 22:24:54 2018 +0000 +++ b/SW_HTTPServer.cpp Mon Jul 02 17:31:05 2018 +0000 @@ -247,9 +247,12 @@ case ReceivingHeader: n = client.receive(bPtr, headerbuffersize - (bPtr - headerbuffer)); - INFO("%sclient.receive() returned %d, from %s", (n<0) ? "*** " : "", n, client.get_address()); - if (n < 0) { - op = Sending; + if (n == -2) { + ; // timeout, so hang here waiting for traffic + // was hang here waiting ... op = Sending; which causes misses + } else if (n < 0) { + // some error like a closed/crashed interface + INFO("%sclient.receive() returned %d, from %s", (n<0) ? "*** " : "", n, client.get_address()); } else if (n) { bPtr[n] = '\0'; switch (ParseHeader(headerbuffer)) { @@ -365,7 +368,7 @@ char *fbuffer = (char *)mymalloc(FILESEND_BUF_SIZE); int bytes; - client.set_blocking(true, 450); + client.set_blocking(false, 450); //server->set_blocking(true, 240); if (fbuffer) { char ContentLen[30];