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!

Reply via email to