ported HTTP-Server with W5500 Ethernet Shield

Dependencies:   W5500Interface mbed-rpc mbed

Fork of HTTP-Server by Francois Berder

Files at this revision

API Documentation at this revision

Comitter:
feb11
Date:
Thu Jul 18 09:39:35 2013 +0000
Parent:
8:464abd184b7b
Child:
10:8b4c3d605bf0
Commit message:
Improved error message

Changed in this revision

Formatter.cpp Show annotated file Show diff for this revision Revisions of this file
HTTPServer.cpp Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
--- a/Formatter.cpp	Thu Jul 18 08:30:11 2013 +0000
+++ b/Formatter.cpp	Thu Jul 18 09:39:35 2013 +0000
@@ -52,7 +52,7 @@
 <body>";
     
 const char* INTERACTIVE_HTML_CODE_2 = "<h3>Create Object :</h3>\
-<form id=\"create\" method=\"get\">\
+<form>\
 Type: <select id=\"type\">\
 <option value=\"/DigitalOut/\">DigitalOut</option>\
 <option value=\"/DigitalIn/\">DigitalIn</option>\
@@ -67,9 +67,9 @@
  \
 <h3>Call a function :</h3>\
 <p>Enter an RPC command.</p>\
-<form method=\"get\">\
+<form>\
 Command: <input type= \"text\" id=\"command\"><br>\
-<input type=\"button\" value=\"Send\" onclick=\"javascript:submitCallFuncForm();\"><br>\
+<p><input type=\"button\" value=\"Send\" onclick=\"javascript:submitCallFuncForm();\"></p><br>\
 </form>\
 </body> \
 </html>";
--- a/HTTPServer.cpp	Thu Jul 18 08:30:11 2013 +0000
+++ b/HTTPServer.cpp	Thu Jul 18 09:39:35 2013 +0000
@@ -30,7 +30,19 @@
 bool HTTPServer::init(int port)
 {
     socket.set_blocking(true);
-    return !socket.bind(port) && !socket.listen();
+    if(socket.bind(port))
+    {
+        printf("Could not bind on port %d.\n", port);
+        return false; 
+    }
+    
+    if(socket.listen())
+    {
+        printf("Could not listen %d\n", port);
+        return false;
+    }
+    
+    return true;
 }
 
 void HTTPServer::run()
--- a/main.cpp	Thu Jul 18 08:30:11 2013 +0000
+++ b/main.cpp	Thu Jul 18 09:39:35 2013 +0000
@@ -30,15 +30,23 @@
     RPCType::instance().register_types();    
 
     EthernetInterface eth;
-    eth.init();
-    eth.connect();
+    if(eth.init())
+    {
+        printf("Error while initializing the ethernet interface.\n");
+        return -1;
+    }
+    if(eth.connect())
+    {
+        printf("Error while starting the ethernet interface.\n");
+        return -1;
+    }
+    
     printf("IP Address is %s\n", eth.getIPAddress());
     
     HTTPServer srv = create_interactive_server();
 
     if(!srv.init(SERVER_PORT))
     {
-        printf("Error while initializing the server\n");
         eth.disconnect();
         return -1;
     }