in trunk we upgraded to the latest rocket is the problem with the previous or the current version?
On Aug 18, 7:39 am, Angelo Compagnucci <[email protected]> wrote: > Hi Michele, > > I think tihis is a rocket problem. The size of the packet (only http > part) is about 400 bytes according to wireshark. > The micro http library in debug prints excactly the size of the http > part and with web2py the count is equal to the http headers without > the data part. > > If I try to GET google, I obtain a packet that the micro reads well, > than it truncates the http to the maximum size it can handle, circa > 950 bytes. > And it works in such a way for every site I try. I tested it with an > apache static page, the page is read well and if it doesn't fill the > buffer I can manipulate the content without troubles. > > The rocket webserver is the one that doesn't work. > > I don't know hot to explain bettere the problem, if it could help, I > can send wireshark pcaps. > > Thank you! > > 2011/8/18 Michele Comitini <[email protected]>: > > > > > > > > > btw you can deploy web2py with many web servers without using rocket. > > you can use any server that supports one among wsgi, uwsgi, scgi, fcgi > > and other old stuff like mod_python or cgi, you can check > > if with one of those configurations you solve the problem. > > > mic > > > 2011/8/18 Michele Comitini <[email protected]>: > >> 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 <[email protected]>: > >>> 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!

