Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: HttpServerSample giken9_HTMLServer_Sample giken9_HTMLServer_Temp_Sample RPCHTTPServer
Revision 5:b8f6a11c70db, committed 2014-02-22
- Comitter:
- yueee_yt
- Date:
- Sat Feb 22 05:51:59 2014 +0000
- Parent:
- 4:1b6b021ee21d
- Commit message:
- BugFix(RPCHandler)
Changed in this revision
--- a/Handler/FSHandler.cpp Fri Feb 21 07:10:30 2014 +0000
+++ b/Handler/FSHandler.cpp Sat Feb 22 05:51:59 2014 +0000
@@ -17,15 +17,10 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
-#ifdef _DEBUG_ALL
-#define _DEBUG_FS_HANDLER
-#endif
+//#define _DEBUG_FS_HANDLER
#include "FSHandler.h"
-//#define __DEBUG
-//#include "dbg/dbg.h"
-
#define CHUNK_SIZE 128
#define DEFAULT_PAGE "/index.htm"
@@ -36,9 +31,20 @@
FSHandler::~FSHandler()
{
- if(m_fp)
+#ifdef _DEBUG_FS_HANDLER
+ printf("\r\n+++FSHandler destroy\r\n");
+#endif
+ if(m_fp){
+#ifdef _DEBUG_FS_HANDLER
+ printf("\r\n+++FSHandler fclose start\r\n");
+#endif
fclose(m_fp);
#ifdef _DEBUG_FS_HANDLER
+ printf("\r\n+++FSHandler fclose end\r\n");
+#endif
+
+ }
+#ifdef _DEBUG_FS_HANDLER
printf("\r\nHandler destroyed\r\n");
#endif
}
@@ -130,16 +136,18 @@
#ifdef _DEBUG_FS_HANDLER
printf("FSHandler: Socket error %d\n", writtenLen);
#endif
-/** Not Work
- if(writtenLen == TCPSOCKET_MEM) {
- fseek(m_fp, -len, SEEK_CUR);
- return; //Wait for the queued TCP segments to be transmitted
- } else {
- //This is a critical error
- close();
- return;
- }
-**/
+ /** Not Work
+ if(writtenLen == TCPSOCKET_MEM) {
+ fseek(m_fp, -len, SEEK_CUR);
+ return; //Wait for the queued TCP segments to be transmitted
+ } else {
+ //This is a critical error
+ **/
+ close();
+ return;
+ /**
+ }
+ **/
} else if(writtenLen < len) { //Short write, socket's buffer is full
fseek(m_fp, writtenLen - len, SEEK_CUR);
return;
@@ -153,6 +161,21 @@
void FSHandler::onClose() //Connection is closing
{
- if(m_fp)
- fclose(m_fp);
+ /**
+#ifdef _DEBUG_FS_HANDLER
+ printf("FSHandler: onClose start \r\n");
+#endif
+ if(m_fp){
+#ifdef _DEBUG_FS_HANDLER
+ printf("FSHandler: fclose start \r\n");
+#endif
+ fclose(m_fp);
+#ifdef _DEBUG_FS_HANDLER
+ printf("FSHandler: fclose end \r\n");
+#endif
}
+#ifdef _DEBUG_FS_HANDLER
+ printf("FSHandler: onClose end \r\n");
+#endif
+**/
+}
--- a/Handler/RPCHandler.cpp Fri Feb 21 07:10:30 2014 +0000
+++ b/Handler/RPCHandler.cpp Sat Feb 22 05:51:59 2014 +0000
@@ -17,9 +17,8 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
-#ifdef _DEBUG_ALL
-#define _DEBUG_RPC_HANDLER
-#endif
+
+//#define _DEBUG_RPC_HANDLER
#include "RPCHandler.h"
#include "mbed_rpc.h"
@@ -32,43 +31,42 @@
RPCHandler::~RPCHandler()
{
#ifdef _DEBUG_RPC_HANDLER
- printf("\r\nHandler destroyed\r\n");
+ printf("++++(RPC Handler)Handler destroyed\r\n");
#endif
}
void RPCHandler::doGet()
{
#ifdef _DEBUG_RPC_HANDLER
- printf("\r\nIn RPCHandler::doGet()\r\n");
+ printf("++++(RPC Handler)doGet\r\n");
#endif
char resp[RPC_DATA_LEN] = {0};
char req[RPC_DATA_LEN] = {0};
#ifdef _DEBUG_RPC_HANDLER
- printf("\r\nPath : %s\r\n", path().c_str());
- printf("\r\nRoot Path : %s\r\n", rootPath().c_str());
+ printf("++++(RPC Handler)Path : %s\r\n", path().c_str());
+ printf("++++(RPC Handler)Root Path : %s\r\n", rootPath().c_str());
#endif
//Remove path
strncpy(req, path().c_str(), RPC_DATA_LEN-1);
#ifdef _DEBUG_RPC_HANDLER
- printf("\r\nRPC req : %s\r\n", req);
+ printf("++++(RPC Handler)RPC req(before) : %s\r\n", req);
#endif
- //Remove %20, +, from req
+ //Remove "%20", "+", "," from req
cleanReq(req);
#ifdef _DEBUG_RPC_HANDLER
- printf("\r\nRPC req : %s\r\n", req);
+ printf("++++(RPC Handler)RPC req(after) : %s\r\n", req);
#endif
//Do RPC Call
RPC::call(req, resp); //FIXME: Use bool result
#ifdef _DEBUG_RPC_HANDLER
- printf("RPC Response %s \r\n",resp);
+ printf("++++(RPC Handler)Response %s \r\n",resp);
#endif
//Response
setContentLen( strlen(resp) );
//Make sure that the browser won't cache this request
respHeaders()["Cache-control"]="no-cache;no-store";
-// respHeaders()["Cache-control"]="no-store";
respHeaders()["Pragma"]="no-cache";
respHeaders()["Expires"]="0";
@@ -76,7 +74,7 @@
respHeaders()["Connection"] = "close";
writeData(resp, strlen(resp));
#ifdef _DEBUG_RPC_HANDLER
- printf("\r\nExit RPCHandler::doGet()\r\n");
+ printf("++++(RPC Handler)Exit RPCHandler::doGet()\r\n");
#endif
}
@@ -99,9 +97,9 @@
void RPCHandler::onWriteable() //Data has been written & buf is free
{
#ifdef _DEBUG_RPC_HANDLER
- printf("\r\nRPCHandler::onWriteable() event\r\n");
+ printf("++++(RPC Handler)onWriteable event\r\n");
#endif
- close(); //Data written, we can close the connection
+ // close(); //Data written, we can close the connection
}
void RPCHandler::onClose() //Connection is closing
@@ -133,3 +131,4 @@
}
}
+
--- a/Handler/SimpleHandler.cpp Fri Feb 21 07:10:30 2014 +0000
+++ b/Handler/SimpleHandler.cpp Sat Feb 22 05:51:59 2014 +0000
@@ -19,9 +19,7 @@
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
-#ifdef _DEBUG_ALL
#define _DEBUG_SIMPLE_HANDLER
-#endif
#include "SimpleHandler.h"
@@ -74,7 +72,7 @@
#ifdef _DEBUG_SIMPLE_HANDLER
printf("\r\n++++SimpleHandler::onWriteable() event\r\n");
#endif
- close(); //Data written, we can close the connection
+// close(); //Data written, we can close the connection
}
void SimpleHandler::onClose() //Connection is closing