[Twisted-web] Athena & browser 2-connection limit

Werner Thie wthie at thiengineering.ch
Tue Sep 16 03:08:28 EDT 2008

Hello Harald

Try the following before you proceed:

Run the nevow examples, go to calculator with IE7 or greater, then hit 
F5 for reload in rapid sequence. You will hit the point where the 
browser sits there seemingly deactivated with a waiting cursor. Wait for 
the time it takes for the socket to come out of its TIME_WAIT state and 
see the browser window come alive again.

You can provoke this behavior also by providing a sequence of LivePages, 
going from one LivePage to the other.

The Athena implementation which was rewritten at SVN version 13786 to 
implement a better disconnect logic collides in my experience with the 
limited connections IE's developer decided to use. At any particular 
time the browser accepts only two open sockets and if the user is fast 
enough to close and open a series of independent windows such that the 
tearing down of one connection provokes a 'half open' socket in 
TIME_WAIT state, IE7 & IE8 wait for the that socket to close completely. 
This problem is amplified by higher latency systems such when running IP 
traffic over satellite or mobile networks.

This is in my opinion a fundamental flaw in the current Athena 
implementation and leads to problems no end, because users WILL simply 
NOT behave and will do the impossible. User feedback in our case was so, 
that I was forced to live with the 'old' Athena stuff.

I have a site up which consists of almost only LivePages doing dialogs 
and fancy stuff, but it's using nevow/athena at SVN version 13786 and it 
  took me an arm and a leg to bring it up to the point where it was 
running smoothly, now serving a constant load of more than 100 users 
24/7. (see www.samschtigjass.ch, goto 'Einzelspieler-Version' for a 
guest game)

If you or anybody else sees a solution to that IE/TIME_WAIT problem I 
would be more than happy to invest time into furthering Athenas 
evolution, I like the concepts underneath and if they're coupled with a 
decent JScript library the 'real app in the browser' becomes a reality.


Harald Blåtand wrote:
> Hi there,
> Been thinking about this. It _would_ be cool if you could have more than 
> one LivePage per browser session, like in popups, or even frames.
> What do you think: Is there any obvious & fundamental reason why the 
> ReliableMessageDelivery stuff couldn't be modified, so that one instance 
> of it could be shared between several PageWidgets?
> Harald
> ------------------------------------------------------------------------
> _______________________________________________
> Twisted-web mailing list
> Twisted-web at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web

More information about the Twisted-web mailing list