Hi Massimo,

I upgraded to the last trunk revision and the problem persist. I
conduced more test and I think the problem is located in rocket, in
wireshark it behaves differently from the other webservers.

Please let me know if I have to send you pcaps or other informations..

Thank you!

2011/8/18 Massimo Di Pierro <massimo.dipie...@gmail.com>:
> 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 <angelo.compagnu...@gmail.com>
> 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 <michele.comit...@gmail.com>:
>>
>>
>>
>>
>>
>>
>>
>> > 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 <michele.comit...@gmail.com>:
>> >> 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!

Reply via email to