CodingForums.com

CodingForums.com (http://www.codingforums.com/index.php)
-   Ajax and Design (http://www.codingforums.com/forumdisplay.php?f=55)
-   -   AJAX Long Polling, I can't do asynchronous requests sumultaneously (http://www.codingforums.com/showthread.php?t=248959)

Inoob 01-16-2012 03:45 AM

AJAX Long Polling, I can't do asynchronous requests sumultaneously
 
I understand that many browsers have limitations (such as 6 requests per "group" meaning I guess how many tabs you have for lets say 'google.com')

Now, I only have 1 constant request..

It starts, and has a timeout of 60 seconds, I then start a separate request to "send" a message to the server, which will impact what is "returned" by the server on the longpoll connection..

My current model, or design, albiet fully functional, has 1 major flaw..

A request is made to the server, which islong polled, (E.G. thrown into a loop)

The Long Poll will continue to long poll until one of the following two conditions are satisfied..

1) The time() is > initial_time+60seconds
2) There is data to be displayed, and found..

the above works just fine.. However, while this is running, if I try to send a Message to the server, javascript wants to wait until the previous request has finished, before sending another request.. which sometimes could take a full minute to showup.. Hardly real time, which defeats the purpose of long polling?

I figure maybe you can't have two connections running at the same exact time in Google Chrome, so I stop the current long poll

- XMLHttpRequest.abort() -

But that still, takes until the request (the server side code) ends processing and still takes up to 60 seconds until the message is sent to the server (which seems to be because it is processing till a specific time)...

this is extremely frustrating..

is there any way to fix this problem?

Thank you all very much!

felgall 01-16-2012 08:47 AM

You should be able to have up to 8 simultaneous http requests in modern browsers and up to 2 in antiquated browsers. If it is only allowing 1 then either you are doing a synchronous call or you are trying to reuse the same object for the call instead of creating a separate object for each call. You can only reuse an object if it has either returned a result or you call abort().

Inoob 01-16-2012 10:40 AM

I've figured it out a while ago, sorry for wasting your time bro, I wasn't lifting the session lock on the session files, so the subsequent requests needed to wait to secure a lock on the session files.. thats why it wasn't working..

Thank you for your thought and answer, I completely appreciate it :)

Russell

huyhoang2608 07-26-2012 06:09 PM

Please tell how exactly you manage the session lock?

For expample my client send AJAX request to ajax.php. Where should we put session_write_close? If not, what should we do?

Thank you in advance.


All times are GMT +1. The time now is 11:04 PM.

Powered by vBulletin®
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.