Thanks, forum.

Plenty of ideas to try here. Plus some good links for further study.

Ian Clark

On Tue, Sep 5, 2017 at 4:35 PM, Raul Miller <[email protected]> wrote:

> For server sent events, you'd need to remove the Connection: Close
> http header and replace it with a Content-Length: nnn header.
>
> You'd also need to jhs to leave the socket open so that the events can
> be sent using that same connection. This would require some
> significant restructuring of jhs, to track open sockets (and clean up
> when they close).
>
> FYI,
>
> --
> Raul
>
>
> On Tue, Sep 5, 2017 at 10:30 AM, Gilles Kirouac <[email protected]> wrote:
> > Depending on your requirements (the browser used by users), you could
> > consider Server-Sent Events, an alternative to websockets, but they are
> > not supported in IE neither (yet?) in Edge.
> >
> > In HTML5, Server-Sent Events are probably what you need. Have a look at
> > the following with a clock example in PHP and ASP(VB):
> >
> > https://www.w3schools.com/html/html5_serversentevents.asp   click the
> > Try it Yourself button
> >
> > https://en.wikipedia.org/wiki/Server-sent_events
> >
> > I do not know how to write the server part in jhs, but others(Eric?)
> > could help.
> >
> >   ~ Gilles
> >
> > Le 2017-09-05 à 09:18, Stefano Lanzavecchia a écrit :
> >> A META header in the <Head> section of the HTML page can force a
> recurrent refresh. The first article Google found on the subject is this
> one: http://www.htmlgoodies.com/tutorials/getting_started/
> article.php/3479551 The article also shows a micro-snippet in JavaScript
> to obtain a similar effect on a user click.
> >>
> >> In order to obtain a similar effect under program control, where the
> server decides when it's time to upgrade, one needs to keep a channel
> opened between the browser and the server. This implies tricky JavaScript
> code client-side and tricky code server side. Modern browser can leverage
> so-called websockets  (https://en.wikipedia.org/wiki/WebSocket) as long
> as the server is up to the game. There are fallback strategies (
> https://stackoverflow.com/questions/7807066/how-signalr-
> works-internally/7874352#7874352). In general, having a full-duplex
> communication between a browser and a web server is possible but it's not
> trivial and its complexity depends, among various other things, on the
> level of compatibility required. Personally, before embarking in anything
> more complex, I would try and see if the Meta Refresh tag is good enough.
> >>
> >> Good luck!
> >> --
> >> Stefano
> >>
> >> -----Original Message-----
> >> From: Programming [mailto:[email protected]] On
> Behalf Of Raul Miller
> >> Sent: martedì 5 settembre 2017 14:54
> >> To: Programming forum <[email protected]>
> >> Subject: Re: [Jprogramming] How can I auto-refresh a JHS app page?
> >>
> >> That's pretty much it. The browser is in control here, and jijx is only
> indirectly in control as a result.
> >>
> >> Probably the simplest would be to put something like Refresh: 3 in the
> http headers in your MYTEMPLATE (before the first blank line). But I
> haven't tested that - I probably need to upgrade my jhs implementation
> before your code would work for me.
> >>
> >> Thanks,
> >>
> >> --
> >> Raul
> >>
> >>
> >> On Tue, Sep 5, 2017 at 8:27 AM, Ian Clark <[email protected]>
> wrote:
> >>> Currently I'm hacking it by using Keyboard Maestro to execute a timer
> which
> >>> reloads the message URL every 3 seconds.
> >>>
> >>> I guess much the same thing could be done using Javascript embedded in
> >>> message.ijs? – if I knew any Javascript.
> >>>
> >>> Another expedient is to write out the message display to a textfile
> >>> (~/message.txt) and open it using TextWrangler. This (unlike TextEdit)
> >>> refreshes its display window whenever message.txt is rewritten.
> >>>
> >>> But these expedients are inelegant. I guess web browsers were not
> designed
> >>> to do this sort of thing. (Or designed not to do this sort of thing?)
> >>>
> >>> On Tue, Sep 5, 2017 at 2:59 AM, Ian Clark <[email protected]>
> wrote:
> >>>
> >>>> Suppose I am a JHS coder, working with the J session (the jijx page),
> and
> >>>> have written an app called "message" (say). This generates a page of
> data
> >>>> in response to the URL:
> >>>>
> >>>> http://localhost:65001/message
> >>>>
> >>>> which I choose to display in a separate browser window. Let's call it
> the
> >>>> message window.
> >>>>
> >>>> If I execute some phrase in jijx which changes the content of the
> message
> >>>> window, then in the normal course of things I would need to manually
> reload
> >>>> the page in order to see the altered data. For example (in Safari) by
> >>>> activating the message window and clicking the symbol: "Reload this
> page".
> >>>>
> >>>> How can I write a verb (to be executed in jijx) which refreshes the
> >>>> message window without having to do that?
> >>>>
> >>>>
> >>> ----------------------------------------------------------------------
> >>> For information about J forums see http://www.jsoftware.com/forums.htm
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >>
> >> ----------------------------------------------------------------------
> >> For information about J forums see http://www.jsoftware.com/forums.htm
> >
> >
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to