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 <g1...@myriade.ca> 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:programming-boun...@forums.jsoftware.com] On 
>> Behalf Of Raul Miller
>> Sent: martedì 5 settembre 2017 14:54
>> To: Programming forum <programm...@jsoftware.com>
>> 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 <earthspo...@gmail.com> 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 <earthspo...@gmail.com> 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

Reply via email to