Client Browser Time-out


I am currently developing a web application in Java.  In the web application, we are obliged to use a synchronous interaction between the server and the client, even when processing major updates (which take about 2-4 hours). Therefore, while the server is busy processing, the client browser just displays "opening web page http://officeOne/myApplication/processEmployees" as a message on the Internet Explorer's status bar while waiting for the server to finish.  Now, the problem is that some of the client PCs display the "Page could not be displayed" error of the Internet Explorer after sometime (About 10 minutes). On other client PCs, this error does not appear. It just waits for the server to finish processing. Though the server still continues to process the updates even after the page is redirected to the error page, it bothers me to see such an error, and may give other users the wrong notion that the application has an error.

I am quite sure that this maybe a browser problem (or maybe I'm wrong), but I am using a browser (IE6) on all the clients.  The reason why I concluded this is because i tried connecting to the same server using different clients.

Also, on the web.xml of the application, i have set the session timeout to -1, to signify that there would be no timeout from the server side.

Below is the software configuration of the server:
O.S.: Windows 2000 Advanced Server Service pack 4
Web Server : Apache Tomcat 4.03

Different clients use the following operating systems:
Windows 2000 Professional (SP4)
Windows 2000 Server (SP4)
Windows 2000 Advanced Server (SP4)
Windows XP Professional (SP1)

All clients use Internet Explorer 6 (6.0.2600.0000)

Does anybody know which causes the error and what solution could be given to such a problem?

Hope somebody could help me with this.

Thank you very much.

Who is Participating?
JRSharpUKConnect With a Mentor Commented:

There is also a reg edit to stop IE Timeout

Start the Registry Editor
Go to HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ InternetSettings
Select New > DWORD from the Edit menu
Call it ReceiveTimeout with a data value of <number of seconds>*1000

For example, if you want the timeout duration to be 10 minutes, set the ReceiveTimeout data value to 600000 (600 * 1000)

Restart your computer


Can you make it send some sort of data even a full stop every so often so IE does not think anything is being sent, simlar things happen with server side scripting, i also say flush the data from the buffer every 50 records or so then write a full stop into the page so IE is seeing progresss.

If something simlar could be done with java then this may be a good option it works for other server side timeouts, just make IE think something is happerning , its not intelligent to wait, its microsoft.

Hope it helps dude.

This is an intermediate soln to ur problem.... Instead of loading the page directly (The page that takes lot of time) ..add an intermediate page with a animated gif or some javascript stuffand let that page call ur final page.

In this way the user knows that something is goingon.

Also you should checkthe server time outs. Increase the server time out. Also if your update is not a single statement try to divide it on different pages. I have an update procedure in ASP god knows why but it takes 2 hrs to run... what i do is I take 100 values at a time and make a recursive call to the page ... that way there is a constant too and fro from the browser to the server

Please let me know if that helps

spojAuthor Commented:

I have read your comments regarding the matter. I will try both your solutions.

Jim: registry editing.
Rohan : Animated Gif stuff on other page.

btw, rohan, i have set the server timeout to -1, so there won't be a timeout from the server side.....

I'll let you know about the progress once I have implemented your solutions.

Thank you very much.

spojAuthor Commented:

Jim, I have tried your suggestion. First, I tried setting it to 60000 (decimal). I was expecting that my experimental update would take 3 minutes to finish. As expected, the browser timed-out, but the server still continues to process the update, which is a good sign. Now, i will just have to set the ReceiveTimout to 0xFFFFFFFF so that there won't be a problem about the timeout on the browser (based on my computation, it would take 49.7 days before it would timeout, if there is such an update).

Rohan, as much as I wanted to modify the pages, I was not allowed to do it due to some constraints (all the pages having updates will have to be modified).  When I got involved in this development, the application is in its final stages, and making drastic (???) changes to the pages would cause some mandays. We will have to modify 40-50 pages having updates. Anyway, i will be taking note of your suggestion just in case i get involved in a ground-up development.

Again, I thank you all for your efforts in helping out.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.