Hi list, I'm using web2py for a microcontroller project and I'm facing a really strange problem.
This microcontroller (a modified arduino with an enc28j60) can accept only one tcp packet a time, because the packet fills the ram and so it freezes the micro. The pages it can process are to be small and fit in one packet. For a microcontroller project, a single packet is sufficient for most use cases. I have an http library that I tested towards an example hosted by the jqplot project (http://www.jqplot.com/tests/jsondata.txt) and it works well, I can read the data and I can manipulate the json object. I also observed with wireshark that only a single packet is issued in reply to my get. There is something like this: GET -> ACK -> HTTP 200 OK I procedeed further writing a small controller (the count one found on the book) to test the micro with web2py. Boom, it doesn't work! I can read only the header of the packet. Further investigation with wireshark lead me to think that the rocket webserver fragments the response in a way that I can get only the first packet (containing the header) and not the second one containg the data (as expected by the micro limitations). In wireshark I have something like this: GET -> ACK -> TCP segment of a reassembled PDU -> HTTP 200 OK The packet "TCP segment of a reassembled PDU" which comes first, actually contains only the headers, instead the http 200 one contains the complete packet. To confirm this, I tested the micro with other webservers (apache, IIS, tomcat) and noone shows the undesired behaviour. Can you give me an hint? Thank you!