Ciao Angelo, What size in bytes the packet has?
Is MTU/MRU of your server correctly configured for that packet size? Consider that HTTP headers may well be big enough to break things in a small packet. ciao, mic 2011/8/18 Angelo Compagnucci <angelo.compagnu...@gmail.com>: > 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! >