That assertion does depend on the implementation at the browser.
One push technique relies on the common practice within many pages of
allowing javascript to execute as the browser loads the page. If the
server never closes the connection and the browser continues to wait for
the remainder of the page then this emulates the push. But the server
must flush stdout each time it decides to push in order for the browser
to receive each packet, a feat which I have not managed to achieve on
the iSeries Apache implementation. I guess it must be easier on other
boxes, since it hardly gets a mention in the implementations I have
read.
But this also relies on the browser since it is possible that some
browsers may decide to unilaterally terminate the connection for reasons
over which you have no control.
Peter
-----Original Message-----
From: web400-bounces@xxxxxxxxxxxx [mailto:web400-bounces@xxxxxxxxxxxx]
On Behalf Of Nathan Andelin
Sent: Thursday, 25 September 2008 3:32 p.m.
To: Web Enabling the AS400 / iSeries
Subject: Re: [WEB400] push data from server to client web browser
From: "Eric Lehti"
Any of you pushing data from server to client web browser?
No. Double no. And the question assumes the browser is listening all
the time, which it isn't. If it were, then it would be the server. And
the computer pushing the data would be the client. But that's not how
browsers work. They only listen after first sending a request to a
server.
In the case of your Executive Dashboard the browser may need to
periodically send new refresh requests to the server at regular
intervals. You can do that by setting up a timer with the
window.setInterval() method. Chat applications use this method. Of
course, if the user closes the window, you're out of luck. No updates.
Until the next time the user opens up the Dashboard and request a
refresh.
It seems that whenever people promote push technology, they misinform
their audience.
Nathan.
As an Amazon Associate we earn from qualifying purchases.