/ Zope / Apsis / Pound Mailing List / Archive / 2007 / 2007-01 / Pound2.2.1. Data are canceld during communication using Ajax.

[ << ] [ >> ]

[ Session are not stiky when cookie content size ... ] [ IP logging on BackEnd servers; / Adam Lis ... ]

Pound2.2.1. Data are canceld during communication using Ajax.
ka2taka(at)elelis.jp
2007-01-16 15:58:54 [ FULL ]
I'm Takahiro. From Japan.

I am using pound 2.2 as a front-end to a Ruby on Rails on Fedora6.
Some fellow workers are using low spec pc. Pentium 800MHz.

I made config file like this:

ListenHTTP
     Address 0.0.0.0
     Port    80
     Client  30
     .....
     Service
         .....

My fellow workers accessed web service with Internet Explore 6.x.
Data were canceld during communication using Ajax.

I tracked down with Ethereal.
The connection was closed by server.

   In the case of success:
     00:00:17 Clint <---(data)<--- Server
     00:00:18 Clint --->(ACK)---> Server
     00:00:18 Clint --->(FIN,ACK)---> Server
     00:00:18 Clint <---(ACK)<--- Server

   In the case of failure:
     00:00:17 Clint <---(data)<--- Server
     00:00:33 Clint --->(ACK)---> Server
     00:00:33 Clint <---(lost segment)<--- Server


The client replied within 30 seconds.
Why does communication fail.


I glanced source code, then I tried to changing source.

[[ http.c ]]
   401: void * thr_http(void *arg){
        .....
        .....
   432: #ifdef  TCP_LINGER2
- 433:     n = 5;
+ 433:     n = 30;
   434:     setsockopt(sock, SOL_TCP, TCP_LINGER2, (void *)&n, sizeof(n));
   .....
   .....
   726: #ifdef  TCP_LINGER2
- 727:     n = 5;
+ 727:     n = 30;
   728:     setsockopt(sock, SOL_TCP, TCP_LINGER2, (void *)&n, sizeof(n));
   729: #endif


I steered clear of this problem.
Good Idea?


I hope "n" is set by config.

Example:

[[ http.c ]]
432: #ifdef  TCP_LINGER2
433:     n = lstn->to;
434:     setsockopt(sock, SOL_TCP, TCP_LINGER2, (void *)&n, sizeof(n));
435: #endif



My English is clumsy. Sorry & Thank you for your time.

MailBoxer